คำถามติดแท็ก lm

lm คือชื่อของฟังก์ชัน linear model (เช่นการถดถอยพหุคูณ) ในแพ็คเกจสถิติ R สำหรับแบบจำลองเชิงเส้นโดยทั่วไปให้ใช้แท็ก "linear-model" แทน

3
ข้อผิดพลาดมาตรฐานของสัมประสิทธิ์คำนวณได้อย่างไรในการถดถอย
เพื่อความเข้าใจของฉันเองฉันสนใจที่จะจำลองการคำนวณข้อผิดพลาดมาตรฐานของสัมประสิทธิ์โดยประมาณด้วยตนเองเช่นมาพร้อมกับlm()ฟังก์ชั่นเอาท์พุทRแต่ไม่สามารถตรึงมันได้ มีการใช้สูตร / การนำไปปฏิบัติอย่างไร

3
มีความแตกต่างระหว่าง lm และ glm สำหรับตระกูล gaussian ของ glm หรือไม่?
โดยเฉพาะผมต้องการที่จะทราบว่ามีความแตกต่างระหว่างและlm(y ~ x1 + x2) glm(y ~ x1 + x2, family=gaussian)ฉันคิดว่ากรณีเฉพาะของ glm นี้เท่ากับ lm ฉันผิดหรือเปล่า?

2
วิธีการหาแบบที่ดีสำหรับแบบกึ่งไซนัสใน R?
ฉันต้องการสมมติว่าอุณหภูมิผิวน้ำทะเลของทะเลบอลติกเป็นปีเดียวกันแล้วปีเล่าแล้วอธิบายด้วยแบบจำลองเชิงเส้นตรง ความคิดที่ฉันมีคือเพียงแค่ใส่ปีเป็นเลขทศนิยม (หรือ num_months / 12) และทราบว่าอุณหภูมิควรเป็นเท่าไหร่ในช่วงเวลานั้น การโยนมันลงใน lm () ฟังก์ชั่นใน R มันไม่รู้จักข้อมูลไซน์ดังนั้นมันจึงสร้างเส้นตรง ดังนั้นฉันจึงใส่ฟังก์ชั่น sin () ไว้ในวงเล็บ I () และลองใช้ค่าสองสามค่าเพื่อให้พอดีกับฟังก์ชั่นด้วยตนเองและนั่นก็ใกล้เคียงกับสิ่งที่ฉันต้องการ แต่ทะเลร้อนขึ้นเร็วกว่าในฤดูร้อนแล้วเย็นลงในฤดูใบไม้ร่วงช้าลง ... ดังนั้นแบบจำลองจึงผิดพลาดในปีแรกจากนั้นแก้ไขให้ถูกต้องมากขึ้นหลังจากสองสามปีที่ผ่านมาและในอนาคตฉันคิดว่ามันจะยิ่งมากขึ้น และผิดมากขึ้นอีกครั้ง ฉันจะได้รับ R เพื่อประเมินโมเดลสำหรับฉันดังนั้นฉันไม่ต้องเดาตัวเลขเอง กุญแจสำคัญในที่นี้คือฉันต้องการให้มันสร้างค่าเหมือนเดิมทุกปีไม่ใช่แค่ให้ถูกต้องหนึ่งปี ถ้าฉันรู้เรื่องคณิตศาสตร์มากขึ้นฉันอาจเดาได้ว่ามันเป็นเหมือนปัวซองหรือเกาส์แทนบาป () แต่ฉันก็ไม่รู้ว่าจะทำเช่นนั้นได้อย่างไร ความช่วยเหลือใด ๆ ที่จะเข้าใกล้คำตอบที่ดีจะได้รับการชื่นชมอย่างมาก นี่คือข้อมูลที่ฉันใช้และรหัสเพื่อแสดงผลลัพธ์: # SST from Bradtke et al 2010 ToY <- c(1/12,2/12,3/12,4/12,5/12,6/12,7/12,8/12,9/12,10/12,11/12,12/12,13/12,14/12,15/12,16/12,17/12,18/12,19/12,20/12,21/12,22/12,23/12,24/12,25/12,26/12,27/12,28/12,29/12,30/12,31/12,32/12,33/12,34/12,35/12,36/12,37/12,38/12,39/12,40/12,41/12,42/12,43/12,44/12,45/12,46/12,47/12,48/12) Degrees <- c(3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5,3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5,3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5,3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5) SST <- …
37 r  regression  time-series  lm 

2
สูตร R-squared ที่ปรับแล้วใน lm ใน R คืออะไรและควรตีความอย่างไร
สูตรที่แน่นอนที่ใช้ใน R lm() สำหรับการปรับ R-squared คืออะไร? ฉันจะตีความมันได้อย่างไร ปรับสูตร r-squared ดูเหมือนจะมีสูตรอยู่หลายสูตรในการคำนวณการปรับ R-squared สูตรของ Wherry: 1 - ( 1 - R2) ( n - 1 )( n - v )1−(1−R2)(n−1)(n−v)1-(1-R^2)\frac{(n-1)}{(n-v)} สูตรของ McNemar: 1 - ( 1 - R2) ( n - 1 )( n - v - 1 )1−(1−R2)(n−1)(n−v−1)1-(1-R^2)\frac{(n-1)}{(n-v-1)} สูตรของลอร์ด: 1 - …


2
การคำนวณพีชคณิตเชิงเส้นอย่างน้อยกำลังสองน้อยที่สุด
เพื่อเป็นการตอบคำถามเกี่ยวกับโมเดลเชิงเส้นผสมใน R และเพื่อเป็นการอ้างอิงสำหรับผู้สนใจรักการเริ่มต้น / ขั้นกลางทางสถิติฉันตัดสินใจที่จะโพสต์ในฐานะ "Q & A-style" อิสระขั้นตอนที่เกี่ยวข้องกับการคำนวณ "คู่มือ" ของ ค่าสัมประสิทธิ์และค่าทำนายของการถดถอยเชิงเส้นอย่างง่าย ตัวอย่างคือชุดข้อมูล R ที่สร้างขึ้นmtcarsและจะถูกตั้งค่าเป็นไมล์ต่อแกลลอนที่ใช้โดยยานพาหนะที่ทำหน้าที่เป็นตัวแปรอิสระซึ่งควบคุมน้ำหนักของรถ (ตัวแปรต่อเนื่อง) และจำนวนกระบอกสูบเป็น ปัจจัยที่มีสามระดับ (4, 6 หรือ 8) โดยไม่มีการโต้ตอบ แก้ไข: ถ้าคุณมีความสนใจในคำถามนี้แน่นอนคุณจะพบคำตอบที่มีรายละเอียดและความพึงพอใจในเรื่องนี้โพสต์โดยแมทธิว Drury นอก CV

4
วิธีที่ดีที่สุดในการจัดการกับ heteroscedasticity?
ฉันมีพล็อตของค่าที่เหลืออยู่ของตัวแบบเชิงเส้นในการทำงานของค่าติดตั้งที่ความแตกต่างแบบเฮเทอโรเซสติกมีความชัดเจนมาก อย่างไรก็ตามฉันไม่แน่ใจว่าฉันควรทำอย่างไรต่อไปเพราะเท่าที่ฉันเข้าใจความแตกต่างแบบนี้ทำให้โมเดลเชิงเส้นของฉันไม่ถูกต้อง (นั่นถูกต้องใช่ไหม?) ใช้การติดตั้งเชิงเส้นที่มีประสิทธิภาพโดยใช้rlm()ฟังก์ชั่นของMASSแพคเกจเพราะเห็นได้ชัดว่ามีความทนทานต่อความแข็งแรงที่ต่างกัน ในฐานะที่เป็นข้อผิดพลาดมาตรฐานของสัมประสิทธิ์ของฉันผิดเนื่องจากความแตกต่างแบบ heteroscedasticity ฉันสามารถปรับข้อผิดพลาดมาตรฐานให้มีความทนทานต่อความแตกต่างแบบ heteroscedasticity ได้หรือไม่ ใช้วิธีการโพสต์ใน Stack Overflow ที่นี่: การถดถอยด้วย Heteroskedasticity แก้ไขข้อผิดพลาดมาตรฐาน วิธีใดดีที่สุดที่จะใช้เพื่อจัดการกับปัญหาของฉัน หากฉันใช้โซลูชันที่ 2 ความสามารถในการทำนายรุ่นของฉันไร้ประโยชน์อย่างสมบูรณ์หรือไม่ การทดสอบ Breusch-Pagan ยืนยันว่าความแปรปรวนไม่คงที่ ค่าคงที่ของฉันในฟังก์ชันของค่าติดตั้งมีลักษณะดังนี้: (รุ่นใหญ่กว่า)

1
R: ทดสอบค่าปกติของส่วนที่เหลือของตัวแบบเชิงเส้น - ซึ่งส่วนที่เหลือที่จะใช้
ฉันต้องการทำการทดสอบ W ของ Shapiro Wilk และการทดสอบ Kolmogorov-Smirnov กับส่วนที่เหลือของแบบจำลองเชิงเส้นเพื่อตรวจสอบความเป็นไปได้ ฉันแค่สงสัยว่าสิ่งที่เหลือควรใช้สำหรับการนี้ - ส่วนที่เหลือดิบ, เพียร์สันที่เหลือ, นักเรียนที่เหลืออยู่หรือนักเรียนที่ได้มาตรฐาน? สำหรับการทดสอบ W ของ Shapiro-Wilk นั้นปรากฏว่าผลลัพธ์สำหรับส่วนที่เหลือและเพียร์สันดิบนั้นเหมือนกัน แต่ไม่ใช่สำหรับคนอื่น ๆ fit=lm(mpg ~ 1 + hp + wt, data=mtcars) res1=residuals(fit,type="response") res2=residuals(fit,type="pearson") res3=rstudent(fit) res4=rstandard(fit) shapiro.test(res1) # W = 0.9279, p-value = 0.03427 shapiro.test(res2) # W = 0.9279, p-value = 0.03427 shapiro.test(res3) # …

1
เหตุใด R's lm () จึงส่งกลับค่าสัมประสิทธิ์ที่แตกต่างจากตำราของฉัน
พื้นหลัง ฉันพยายามที่จะเข้าใจตัวอย่างแรกในหลักสูตรเกี่ยวกับแบบจำลองที่เหมาะสม (ดังนั้นนี่อาจดูเรียบง่ายอย่างน่าหัวเราะ) ฉันทำการคำนวณด้วยมือและพวกมันจับคู่ตัวอย่าง แต่เมื่อฉันทำซ้ำใน R สัมประสิทธิ์ของโมเดลจะดับ ฉันคิดว่าความแตกต่างอาจเกิดจากหนังสือเรียนที่ใช้ความแปรปรวนประชากร ( ) ในขณะที่ R อาจใช้ความแปรปรวนตัวอย่าง ( ) แต่ฉันไม่เห็นว่าจะใช้ที่ใดในการคำนวณ ตัวอย่างเช่นหาก ใช้บางส่วนส่วนช่วยเหลือในบันทึกย่อ:S 2σ2σ2\sigma^2S2S2S^2lm()var()var() ตัวส่วน n - 1 ถูกใช้ซึ่งให้ค่าประมาณที่ไม่เอนเอียงของความแปรปรวน (ร่วม) สำหรับการสังเกต iid ฉันดูที่รหัสสำหรับทั้งlm()และlm.fit()และไม่ใช้var()แต่lm.fit()ส่งผ่านข้อมูลนั้นเพื่อรวบรวมรหัส C ( z <- .Call(C_Cdqrls, x, y, tol, FALSE)) ซึ่งฉันไม่สามารถเข้าถึงได้ คำถาม ทุกคนสามารถอธิบายได้หรือไม่ว่าเหตุใด R จึงให้ผลลัพธ์ที่ต่างกัน แม้ว่าจะมีความแตกต่างในการใช้กลุ่มตัวอย่างเทียบกับความแปรปรวนของประชากรทำไมค่าสัมประสิทธิ์ประมาณต่างกัน ข้อมูล พอดีกับเส้นเพื่อทำนายขนาดรองเท้าจากเกรดในโรงเรียน # model data mod.dat <- …
13 r  regression  self-study  lm 

1
มาตรการซ้ำ anova: lm vs lmer
ฉันพยายามสร้างการทดสอบการโต้ตอบหลายครั้งระหว่างมาตรการทั้งสองlmและlmerมาตรการซ้ำ (2x2x2) เหตุผลที่ฉันต้องการเปรียบเทียบทั้งสองวิธีนี้เป็นเพราะ GLM ของ SPSS สำหรับการวัดซ้ำ ๆ ทำให้ได้ผลลัพธ์ที่เหมือนกันกับlmวิธีที่นำเสนอที่นี่ดังนั้นในตอนท้ายฉันต้องการเปรียบเทียบ SPSS กับ R-lmer จนถึงตอนนี้ฉันทำได้แค่ทำซ้ำ (อย่างใกล้ชิด) ปฏิสัมพันธ์บางอย่าง คุณจะพบสคริปต์ด้านล่างเพื่อแสดงจุดของฉันให้ดีขึ้น: library(data.table) library(tidyr) library(lmerTest) library(MASS) set.seed(1) N <- 100 # number of subjects sigma <- 1 # popuplation sd rho <- .6 # correlation between variables # X1: a a a a b b b …

2
การอนุมานการถดถอยที่แข็งแกร่งและตัวประมาณแซนวิช
คุณช่วยยกตัวอย่างการใช้ตัวประมาณค่าแซนวิชเพื่อทำการอนุมานการถดถอยที่มีประสิทธิภาพได้หรือไม่? ฉันสามารถดูตัวอย่างใน?sandwichแต่ฉันไม่เข้าใจวิธีการที่เราสามารถไปจากlm(a ~ b, data)( R -coded) เพื่อการประมาณการและPsandwichคุ้มค่าที่เกิดจากรูปแบบการถดถอยโดยใช้เมทริกซ์ความแปรปรวนแปรปรวนส่งกลับโดยฟังก์ชั่น
10 r  regression  lm  sandwich 

1
คำนวณความน่าจะเป็นบันทึกใหม่จากโมเดล R lm อย่างง่าย
ฉันเพียงแค่พยายามคำนวณใหม่ด้วย dnorm () ความน่าจะเป็นของล็อกจากฟังก์ชัน logLik จาก lm model (in R) ใช้งานได้ (เกือบสมบูรณ์แบบ) สำหรับข้อมูลจำนวนมาก (เช่น n = 1,000): > n <- 1000 > x <- 1:n > set.seed(1) > y <- 10 + 2*x + rnorm(n, 0, 2) > mod <- glm(y ~ x, family = gaussian) > logLik(mod) 'log Lik.' …

1
ทำไม Anova () และ drop1 () จึงให้คำตอบที่แตกต่างกันสำหรับ GLMM
ฉันมีแบบฟอร์ม GLMM: lmer(present? ~ factor1 + factor2 + continuous + factor1*continuous + (1 | factor3), family=binomial) เมื่อฉันใช้drop1(model, test="Chi")ฉันได้รับผลลัพธ์ที่แตกต่างกว่าถ้าผมใช้จากแพคเกจรถหรือAnova(model, type="III") summary(model)สองหลังนี้ให้คำตอบเดียวกัน จากการใช้ข้อมูลที่ประดิษฐ์ขึ้นมาฉันพบว่าทั้งสองวิธีปกติไม่แตกต่างกัน พวกเขาให้คำตอบเดียวกันสำหรับแบบจำลองเชิงเส้นที่มีความสมดุลแบบจำลองเชิงเส้นที่ไม่สมดุล (ซึ่งไม่เท่ากันในกลุ่มต่าง ๆ ) และสำหรับแบบจำลองเชิงเส้นที่สมดุลแบบทั่วไป ดังนั้นจึงปรากฏว่าเฉพาะในกรณีที่มีการรวมปัจจัยแบบสุ่มเข้าด้วยกัน ทำไมจึงมีความคลาดเคลื่อนระหว่างสองวิธีนี้? เมื่อใช้ GLMM ควรAnova()หรือdrop1()จะใช้งานอย่างไร ความแตกต่างระหว่างสองสิ่งนี้ค่อนข้างเล็กน้อยอย่างน้อยสำหรับข้อมูลของฉัน มันมีความสำคัญต่อการใช้งานหรือไม่?
10 r  anova  glmm  r  mixed-model  bootstrap  sample-size  cross-validation  roc  auc  sampling  stratification  random-allocation  logistic  stata  interpretation  proportion  r  regression  multiple-regression  linear-model  lm  r  cross-validation  cart  rpart  logistic  generalized-linear-model  econometrics  experiment-design  causality  instrumental-variables  random-allocation  predictive-models  data-mining  estimation  contingency-tables  epidemiology  standard-deviation  mean  ancova  psychology  statistical-significance  cross-validation  synthetic-data  poisson-distribution  negative-binomial  bioinformatics  sequence-analysis  distributions  binomial  classification  k-means  distance  unsupervised-learning  euclidean  correlation  chi-squared  spearman-rho  forecasting  excel  exponential-smoothing  binomial  sample-size  r  change-point  wilcoxon-signed-rank  ranks  clustering  matlab  covariance  covariance-matrix  normal-distribution  simulation  random-generation  bivariate  standardization  confounding  z-statistic  forecasting  arima  minitab  poisson-distribution  negative-binomial  poisson-regression  overdispersion  probability  self-study  markov-process  estimation  maximum-likelihood  classification  pca  group-differences  chi-squared  survival  missing-data  contingency-tables  anova  proportion 

3
เหตุใดการถดถอยเชิงเส้นจึงไม่สามารถคาดการณ์ผลลัพธ์ของลำดับที่กำหนดอย่างง่ายได้
เพื่อนร่วมงานของฉันส่งปัญหานี้ให้ฉันอย่างเห็นได้ชัดว่าทำให้รอบบนอินเทอร์เน็ต: If $3 = 18, 4 = 32, 5 = 50, 6 = 72, 7 = 98$, Then, $10 =$ ? คำตอบน่าจะเป็น 200 3*6 4*8 5*10 6*12 7*14 8*16 9*18 10*20=200 เมื่อฉันทำการถดถอยเชิงเส้นใน R: data <- data.frame(a=c(3,4,5,6,7), b=c(18,32,50,72,98)) lm1 <- lm(b~a, data=data) new.data <- data.frame(a=c(10,20,30)) predict <- predict(lm1, newdata=new.data, interval='prediction') ฉันเข้าใจ: …
9 r  regression  lm 

2
พารามิเตอร์การบูตแบบกึ่งพารามิเตอร์และแบบไม่มีพารามิเตอร์สำหรับรุ่นผสม
ตัดต่อไปนี้จะนำมาจากบทความนี้ ฉันเป็นมือใหม่ในการบู๊ตสแตรปและพยายามที่จะใช้การบู๊ตสแปปปิ้งแบบกึ่งพารามิเตอร์แบบกึ่งพารามิเตอร์และแบบไม่มีพารามิเตอร์สำหรับแบบจำลองเชิงเส้นผสมกับR bootแพ็คเกจ รหัส R นี่คือRรหัสของฉัน: library(SASmixed) library(lme4) library(boot) fm1Cult <- lmer(drywt ~ Inoc + Cult + (1|Block) + (1|Cult), data=Cultivation) fixef(fm1Cult) boot.fn <- function(data, indices){ data <- data[indices, ] mod <- lmer(drywt ~ Inoc + Cult + (1|Block) + (1|Cult), data=data) fixef(mod) } set.seed(12345) Out <- boot(data=Cultivation, statistic=boot.fn, R=99) …
9 r  mixed-model  bootstrap  central-limit-theorem  stable-distribution  time-series  hypothesis-testing  markov-process  r  correlation  categorical-data  association-measure  meta-analysis  r  anova  confidence-interval  lm  r  bayesian  multilevel-analysis  logit  regression  logistic  least-squares  eda  regression  notation  distributions  random-variable  expected-value  distributions  markov-process  hidden-markov-model  r  variance  group-differences  microarray  r  descriptive-statistics  machine-learning  references  r  regression  r  categorical-data  random-forest  data-transformation  data-visualization  interactive-visualization  binomial  beta-distribution  time-series  forecasting  logistic  arima  beta-regression  r  time-series  seasonality  large-data  unevenly-spaced-time-series  correlation  statistical-significance  normalization  population  group-differences  demography 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.