multiple_regression
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
multiple_regression [2020/12/01 16:11] – [in R] hkimscil | multiple_regression [2023/10/19 08:39] (current) – [Determining IVs' role] hkimscil | ||
---|---|---|---|
Line 44: | Line 44: | ||
====== e.g.====== | ====== e.g.====== | ||
Data set again. | Data set again. | ||
+ | < | ||
+ | datavar <- read.csv(" | ||
^ DATA for regression analysis | ^ DATA for regression analysis | ||
Line 332: | Line 334: | ||
===== in R ===== | ===== in R ===== | ||
- | < | + | < |
mod <- lm(api00 ~ ell + acs_k3 + avg_ed + meals, data=dvar) | mod <- lm(api00 ~ ell + acs_k3 + avg_ed + meals, data=dvar) | ||
summary(mod) | summary(mod) | ||
Line 380: | Line 382: | ||
</ | </ | ||
- | + | < | |
- | ====== Why overall model is significant while IVs are not? ====== | + | |
- | see https:// | + | |
- | + | ||
- | < | + | |
- | RSS = 3:10 #Right shoe size | + | |
- | LSS = rnorm(RSS, RSS, 0.1) #Left shoe size - similar to RSS | + | |
- | cor(LSS, RSS) # | + | |
- | + | ||
- | weights = 120 + rnorm(RSS, 10*RSS, 10) | + | |
- | + | ||
- | ##Fit a joint model | + | |
- | m = lm(weights ~ LSS + RSS) | + | |
- | + | ||
- | ##F-value is very small, but neither LSS or RSS are significant | + | |
- | summary(m) | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | < | + | |
- | > LSS = rnorm(RSS, RSS, 0.1) #Left shoe size - similar to RSS | + | |
- | > cor(LSS, RSS) # | + | |
- | [1] 0.9994836 | + | |
- | > | + | |
- | > weights = 120 + rnorm(RSS, 10*RSS, 10) | + | |
- | > | + | |
- | > ##Fit a joint model | + | |
- | > m = lm(weights ~ LSS + RSS) | + | |
- | > | + | |
- | > ##F-value is very small, but neither LSS or RSS are significant | + | |
- | > summary(m) | + | |
Call: | Call: | ||
- | lm(formula = weights | + | lm(formula = api00 ~ ell + acs_k3 + avg_ed + meals, data = dvar) |
- | + | ||
- | Residuals: | + | |
- | 1 | + | |
- | | + | |
Coefficients: | Coefficients: | ||
- | Estimate Std. Error t value Pr(> | + | (Intercept) |
- | (Intercept) | + | 709.6388 -0.8434 3.3884 29.0724 |
- | LSS -14.162 | + | |
- | RSS 26.305 | + | |
- | --- | + | |
- | Signif. codes: | + | |
- | Residual standard error: 7.296 on 5 degrees of freedom | + | ></ |
- | Multiple R-squared: | + | $$ \hat{Y} = 709.6388 + -0.8434 \text{ell} + 3.3884 \text{acs_k3} + 29.0724 \text{avg_ed} + -2.9374 \text{meals} \\$$ |
- | F-statistic: 59.92 on 2 and 5 DF, p-value: 0.000321 | + | |
- | > | + | 그렇다면 각각의 독립변인 고유의 설명력은 얼마인가? |
- | > ##Fitting RSS or LSS separately gives a significant result. | + | |
- | > summary(lm(weights ~ LSS)) | + | |
- | + | ||
- | Call: | + | |
- | lm(formula = weights ~ LSS) | + | |
- | + | ||
- | Residuals: | + | |
- | | + | |
- | -6.055 -4.930 -2.925 | + | |
- | + | ||
- | Coefficients: | + | |
- | Estimate Std. Error t value Pr(>|t|) | + | |
- | (Intercept) | + | |
- | LSS | + | |
- | --- | + | |
- | Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 | + | |
- | + | ||
- | Residual standard error: 7.026 on 6 degrees of freedom | + | |
- | Multiple R-squared: | + | |
- | F-statistic: | + | |
- | + | ||
- | > | + | |
- | </ | + | |
Line 480: | Line 420: | ||
| | Standard Multiple | | | Standard Multiple | ||
- | | r< | + | | r< |
| ::: | IV< | | ::: | IV< | ||
- | | sr< | + | | sr< |
| ::: | IV< | | ::: | IV< | ||
- | | pr< | + | | pr< |
| ::: | IV< | | ::: | IV< | ||
| IV< | | IV< | ||
Line 507: | Line 447: | ||
Multicolliearity problem = when torelance < .01 or when VIF > 10 | Multicolliearity problem = when torelance < .01 or when VIF > 10 | ||
+ | ====== elem e.g. again ====== | ||
+ | < | ||
+ | dvar <- read.csv(" | ||
+ | mod <- lm(api00 ~ ell + acs_k3 + avg_ed + meals, data=dvar) | ||
+ | summary(mod) | ||
+ | anova(mod) | ||
+ | </ | ||
+ | < | ||
+ | dvar <- read.csv(" | ||
+ | > mod <- lm(api00 ~ ell + acs_k3 + avg_ed + meals, data=dvar) | ||
+ | > summary(mod) | ||
+ | Call: | ||
+ | lm(formula = api00 ~ ell + acs_k3 + avg_ed + meals, data = dvar) | ||
+ | Residuals: | ||
+ | | ||
+ | -187.020 | ||
+ | |||
+ | Coefficients: | ||
+ | Estimate Std. Error t value Pr(> | ||
+ | (Intercept) 709.6388 | ||
+ | ell -0.8434 | ||
+ | acs_k3 | ||
+ | avg_ed | ||
+ | meals -2.9374 | ||
+ | --- | ||
+ | Signif. codes: | ||
+ | |||
+ | Residual standard error: 58.63 on 374 degrees of freedom | ||
+ | (21 observations deleted due to missingness) | ||
+ | Multiple R-squared: | ||
+ | F-statistic: | ||
+ | |||
+ | > anova(mod) | ||
+ | Analysis of Variance Table | ||
+ | |||
+ | Response: api00 | ||
+ | | ||
+ | ell 1 4502711 4502711 1309.762 < 2.2e-16 *** | ||
+ | acs_k3 | ||
+ | avg_ed | ||
+ | meals | ||
+ | Residuals 374 1285740 | ||
+ | --- | ||
+ | Signif. codes: | ||
+ | > | ||
+ | </ | ||
+ | < | ||
+ | # install.packages(" | ||
+ | library(ppcor) | ||
+ | myvar <- data.frame(api00, | ||
+ | myvar <- na.omit(myvar) | ||
+ | spcor(myvar) | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | > library(ppcor) | ||
+ | > myvar <- data.frame(api00, | ||
+ | > myvar <- na.omit(myvar) | ||
+ | > spcor(myvar) | ||
+ | $estimate | ||
+ | | ||
+ | api00 | ||
+ | ell -0.13469956 | ||
+ | acs_k3 | ||
+ | avg_ed | ||
+ | meals -0.29972194 | ||
+ | |||
+ | $p.value | ||
+ | api00 ell acs_k3 | ||
+ | api00 0.000000e+00 0.07761805 0.5525340 0.085390280 2.403284e-10 | ||
+ | ell 8.918743e-03 0.00000000 0.2390272 0.232377348 1.558141e-03 | ||
+ | acs_k3 1.608778e-01 0.05998819 0.0000000 0.009891503 7.907183e-03 | ||
+ | avg_ed 1.912418e-02 0.27203887 0.1380449 0.000000000 7.424903e-05 | ||
+ | meals 3.041658e-09 0.04526574 0.2919775 0.006489783 0.000000e+00 | ||
+ | |||
+ | $statistic | ||
+ | | ||
+ | api00 | ||
+ | ell -2.628924 | ||
+ | acs_k3 | ||
+ | avg_ed | ||
+ | meals -6.075665 | ||
+ | |||
+ | $n | ||
+ | [1] 379 | ||
+ | |||
+ | $gp | ||
+ | [1] 3 | ||
+ | |||
+ | $method | ||
+ | [1] " | ||
+ | > | ||
+ | > | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | > spcor.test(myvar$api00, | ||
+ | estimate | ||
+ | 1 -0.3190889 2.403284e-10 -6.511264 379 3 pearson | ||
+ | > | ||
+ | </ | ||
====== e.g., ====== | ====== e.g., ====== | ||
[[:multiple regression examples]] | [[:multiple regression examples]] | ||
Line 540: | Line 581: | ||
</ | </ | ||
+ | [[:Multiple Regression Exercise]] | ||
====== Resources ====== | ====== Resources ====== |
multiple_regression.1606806668.txt.gz · Last modified: 2020/12/01 16:11 by hkimscil