regression
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
regression [2018/11/09 07:54] – [E.g., 1. Simple regression & F-test for goodness of fit] hkimscil | regression [2023/05/24 08:53] (current) – [Slope test] hkimscil | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Regression ====== | + | ====== Regression |
- | SA [[Multiple Regression]] | + | See also [[Multiple Regression]] |
두 변인 간의 상관관계가 완전하다면 (r=1.0 혹은 r=-1.0) 변인 간의 상관관계에 의한 그래프는 아래와 같을 것이다. | 두 변인 간의 상관관계가 완전하다면 (r=1.0 혹은 r=-1.0) 변인 간의 상관관계에 의한 그래프는 아래와 같을 것이다. | ||
Line 33: | Line 33: | ||
간혹, 다른 교재를 보면, | 간혹, 다른 교재를 보면, | ||
- | $b = r * \displaystyle \frac{s_{Y}}{s_{X}}$ | + | $$b = r * \displaystyle \frac{s_{Y}}{s_{X}} |
와 같이 나타나는데 이 둘은 같은 의미를 갖는다. | 와 같이 나타나는데 이 둘은 같은 의미를 갖는다. | ||
Line 39: | Line 39: | ||
__동일한 공식 설명__: | __동일한 공식 설명__: | ||
- | | + | \begin{eqnarray*} |
- | + | r & = & \displaystyle \frac{SP}{\sqrt{SS_X SS_Y}}\text{, | |
- | $ SP = r * \displaystyle \sqrt{SS_X SS_Y} $ 그리고 | + | SP & = & r * \displaystyle \sqrt{SS_X SS_Y} \quad \text{and} \\ |
- | + | \\ | |
- | $ b = \displaystyle \frac{SP}{SS_X} | + | b & = & \displaystyle \frac{SP}{SS_X} |
- | + | & = & \displaystyle \frac{r * \sqrt{SS_X SS_Y}}{SS_X} | |
- | | + | & = & r * \frac{\sqrt{SS_Y}}{\sqrt{SS_X}} |
- | + | & = & r * \displaystyle \frac{s_Y}{s_X} | |
- | | + | \end{eqnarray*} |
</ | </ | ||
Line 108: | Line 108: | ||
========== 표준오차 잔여변량 (standard error residual) ========== | ========== 표준오차 잔여변량 (standard error residual) ========== | ||
- | < | + | [{{ : |
- | < | + | |
연구자가 각 케이스에 해당하는 Y 값에 대응하는 X 값을 알고 있고, 이를 함께 고려하면 (Covariance) Y값 예측에 도움을 줄 수 있다는 것을 알았다. 즉, Y 변인의 평균값을 Y의 대표값이라고 하기에는 개인의 실제값 (혹은 관측치)과 평균값 간의 오차가 너무 큰데, 이 오차를 줄이기 위해서 만들어진 것이 회귀선이다 (regression line, 오렌지 라인). 따라서 회귀선은 평균값만을 사용할 때 나타나는 오차를 줄여주는 역할을 한다. | 연구자가 각 케이스에 해당하는 Y 값에 대응하는 X 값을 알고 있고, 이를 함께 고려하면 (Covariance) Y값 예측에 도움을 줄 수 있다는 것을 알았다. 즉, Y 변인의 평균값을 Y의 대표값이라고 하기에는 개인의 실제값 (혹은 관측치)과 평균값 간의 오차가 너무 큰데, 이 오차를 줄이기 위해서 만들어진 것이 회귀선이다 (regression line, 오렌지 라인). 따라서 회귀선은 평균값만을 사용할 때 나타나는 오차를 줄여주는 역할을 한다. | ||
Line 116: | Line 115: | ||
<WRAP clear /> | <WRAP clear /> | ||
- | < | + | [{{ : |
- | 연구자는 데이터를 이용하여 회귀식의 b값과 a값을 구할 수 있다. 그리고 이를 사용하면, | + | |
Line 187: | Line 185: | ||
^ __ prediction for y values with__ $\overline{Y}$ | ^ __ prediction for y values with__ $\overline{Y}$ | ||
- | | bankaccount | + | | bankaccount |
- | | 6 | -2 | 4 | | + | | 6 | 8 |
- | | 5 | -3 | 9 | | + | | 5 | 8 |
- | | 7 | -1 | 1 | | + | | 7 | 8 |
- | | 7 | -1 | 1 | | + | | 7 | 8 |
- | | 8 | 0 | 0 | | + | | 8 | 8 |
- | | 10 | 2 | 4 | | + | | 10 | 8 |
- | | 8 | 0 | 0 | | + | | 8 | 8 |
- | | 11 | 3 | 9 | | + | | 11 | 8 |
- | | 9 | 1 | 1 | | + | | 9 | 8 |
- | | 9 | 1 | 1 | | + | | 9 | 8 |
- | | $\overline{Y}=8$ | + | | $\overline{Y}=8$ |
<WRAP clear /> | <WRAP clear /> | ||
위에서 제곱한 값의 합은? 30이다. 이는 사실, SS (Sum of Square)값이 30이라는 이야기이다. 그리고, 위에서 설명한 것처럼, 이 값은 $ SS_{total} $ 이라고 할 수 있으며 __전체에러__ 변량이라고 할 수 있겠다. | 위에서 제곱한 값의 합은? 30이다. 이는 사실, SS (Sum of Square)값이 30이라는 이야기이다. 그리고, 위에서 설명한 것처럼, 이 값은 $ SS_{total} $ 이라고 할 수 있으며 __전체에러__ 변량이라고 할 수 있겠다. | ||
Line 204: | Line 202: | ||
__SS< | __SS< | ||
< | < | ||
+ | > head(datavar) | ||
+ | . . . . | ||
+ | > mod <- lm(bankaccount ~ income, data = datavar) | ||
+ | > summary(mod) | ||
+ | |||
Residuals: | Residuals: | ||
Min 1Q Median | Min 1Q Median | ||
Line 280: | Line 283: | ||
^ ANOVA(b) | ^ ANOVA(b) | ||
| Model | | Model | ||
- | | 1.000 | Regression | + | | 1.000 | Regression |
- | | | + | | |
- | | | + | | |
| a Predictors: (Constant), bankIncome | | a Predictors: (Constant), bankIncome | ||
+ | |||
+ | * 1.383 = SS< | ||
+ | * 이 MS error 는 [[: | ||
+ | * 그리고 MS< | ||
+ | * 이에 대한 통계학 검증을 한다 (df regression = 2 - 1; df residual = n - 2; df total = n - 1) | ||
<WRAP clear /> | <WRAP clear /> | ||
+ | |||
__ SS< | __ SS< | ||
Line 290: | Line 299: | ||
회귀공식 (regression equation) 혹은 모델 (regression model)이 만들어지게 되면 이 모델에 대한 판단이 필요하다. 첫 째, regression equation에서 도출되는 잔여오차 (SS< | 회귀공식 (regression equation) 혹은 모델 (regression model)이 만들어지게 되면 이 모델에 대한 판단이 필요하다. 첫 째, regression equation에서 도출되는 잔여오차 (SS< | ||
- | 위 섹션에서, | + | 위의 표에서 (Anova table), |
- | + | ||
- | white = explained error (E) = $SS{reg}$ \\ | + | |
- | orange = unexplained error (U) = $SS{res}$ \\ | + | |
- | + | ||
- | yellow = total error $SS_{total}$ = E + U = $SS_{reg} + SS_{res}$ \\ | + | |
- | degrees of freedom | + | | for SS | for degrees of freedom |
- | for residual | + | | @white: white \\ = explained error (E) \\ = $SS{reg}$ |
- | for regression | + | | @orange: orange |
+ | | @yellow: yellow | ||
Then, \\ | Then, \\ | ||
Line 327: | Line 332: | ||
-> r< | -> r< | ||
- | 이 때 b가 기여했다는 판단은 t-test를 이용해서 하게된다. 이에 대한 설명은 아래 [[: | + | 이 때 b가 기여했다는 판단은 t-test를 이용해서 하게된다. 이에 대한 설명은 아래 [[: |
^ __Coefficients(a)__ | ^ __Coefficients(a)__ | ||
Line 341: | Line 346: | ||
- | ====== E.g., 2. Simple regression ====== | + | ====== E.g., Simple regression ====== |
data: | data: | ||
{{: | {{: | ||
Line 578: | Line 583: | ||
| | ||
| | ||
+ | |||
+ | ====== e.g. Simple Regression ====== | ||
+ | {{: | ||
+ | |||
+ | < | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | > summary(mod) | ||
+ | |||
+ | Call: | ||
+ | lm(formula = Y ~ X, data = datavar) | ||
+ | |||
+ | Residuals: | ||
+ | Min 1Q Median | ||
+ | -250.22 -132.28 | ||
+ | |||
+ | Coefficients: | ||
+ | Estimate Std. Error t value Pr(> | ||
+ | (Intercept) | ||
+ | X | ||
+ | --- | ||
+ | Signif. codes: | ||
+ | |||
+ | Residual standard error: 170.5 on 10 degrees of freedom | ||
+ | Multiple R-squared: | ||
+ | F-statistic: | ||
+ | |||
+ | </ | ||
+ | < | ||
+ | Analysis of Variance Table | ||
+ | |||
+ | Response: Y | ||
+ | Df Sum Sq Mean Sq F value | ||
+ | X 1 316874 | ||
+ | Residuals 10 290824 | ||
+ | --- | ||
+ | Signif. codes: | ||
+ | > </ | ||
+ | |||
+ | < | ||
+ | > ss_total <- var(datavar$Y)*11 | ||
+ | > round(ss_total) | ||
+ | [1] 607698 | ||
+ | > 316874 + 290824 | ||
+ | [1] 607698 | ||
+ | </ | ||
+ | <WRAP box help> | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
====== E.g., 3. Simple regression: Adjusted R squared & Slope test ====== | ====== E.g., 3. Simple regression: Adjusted R squared & Slope test ====== | ||
Line 606: | Line 663: | ||
- | **__r-square:__** | + | ===== r-square |
* $\displaystyle r^2=\frac{SS_{total}-SS_{res}}{SS_{total}} = \frac{\text{Explained sample variability}}{\text{Total sample variability}}$ | * $\displaystyle r^2=\frac{SS_{total}-SS_{res}}{SS_{total}} = \frac{\text{Explained sample variability}}{\text{Total sample variability}}$ | ||
Line 615: | Line 672: | ||
- | **__Adjusted | + | ===== Adjusted |
* $\displaystyle r^2=\frac{SS_{total}-SS_{res}}{SS_{total}} = 1 - \frac{SS_{res}}{SS_{total}} $ , | * $\displaystyle r^2=\frac{SS_{total}-SS_{res}}{SS_{total}} = 1 - \frac{SS_{res}}{SS_{total}} $ , | ||
Line 636: | Line 693: | ||
* R2 value goes down -- which means | * R2 value goes down -- which means | ||
* more (many) IVs is not always good | * more (many) IVs is not always good | ||
- | * Therefore, the Adjusted r< | + | * Therefore, the Adjusted r< |
- | **__Slope test__** | + | ===== Slope test ===== |
If we take a look at the ANOVA result: | If we take a look at the ANOVA result: | ||
Line 649: | Line 706: | ||
| b Dependent Variable: y ||||||| | | b Dependent Variable: y ||||||| | ||
<WRAP clear /> | <WRAP clear /> | ||
+ | F test recap. | ||
* ANOVA, F-test, $F=\frac{MS_{between}}{MS_{within}}$ | * ANOVA, F-test, $F=\frac{MS_{between}}{MS_{within}}$ | ||
- | | + | |
- | * MS_within? | + | * MS_within? |
- | * MS for residual | + | * regression에서 within 에 해당하는 것 == residual |
* $s = \sqrt{s^2} = \sqrt{\frac{SS_{res}}{n-2}} $ | * $s = \sqrt{s^2} = \sqrt{\frac{SS_{res}}{n-2}} $ | ||
- | * random difference (MS< | + | |
* MS for regression . . . Obtained difference | * MS for regression . . . Obtained difference | ||
- | * do the same procedure at the above in MS for residual. | + | * do the same procedure at the above in MS for <del>residual</ |
* but, this time degress of freedom is k-1 (number of variables -1 ), 1. | * but, this time degress of freedom is k-1 (number of variables -1 ), 1. | ||
* Then what does F value mean? | * Then what does F value mean? | ||
Line 672: | Line 729: | ||
* Why do we do t-test for the slope of X variable? The below is a mathematical explanation for this. | * Why do we do t-test for the slope of X variable? The below is a mathematical explanation for this. | ||
- | * Sampling distribution of b: | + | * Sampling distribution of error around the slope line b: |
* $\displaystyle \sigma_{b_{1}} = \frac{\sigma}{\sqrt{SS_{x}}}$ | * $\displaystyle \sigma_{b_{1}} = \frac{\sigma}{\sqrt{SS_{x}}}$ | ||
+ | * We remember that $\displaystyle \sigma_{\bar{x}} = \frac{\sigma}{\sqrt{n}}$ ? | ||
* estimation of $\sigma_{b_{1}}$ : substitute sigma with s | * estimation of $\sigma_{b_{1}}$ : substitute sigma with s | ||
+ | 만약에 error들이 (residual들) slope b를 중심으로 포진해 있고, 이것을 따로 떼어내서 distribution curve를 그려보면 평균이 0이고 standard deviation이 위의 standard error값을 갖는 normal distribution을 이루게 될 것이다. | ||
* t-test | * t-test | ||
- | |||
* $\displaystyle t=\frac{b_{1} - \text{Hypothesized value of }\beta_{1}}{s_{b_{1}}}$ | * $\displaystyle t=\frac{b_{1} - \text{Hypothesized value of }\beta_{1}}{s_{b_{1}}}$ | ||
+ | * Hypothesized value of b 값은 (혹은 beta) 0. 따라서 t 값은 | ||
+ | * $\displaystyle t=\frac{b_{1}}{s_{b_{1}}}$ | ||
+ | * 기울기에 대한 표준오차는 (se) 아래와 같이 구한다 | ||
- | * Hypothesized value of beta 값은 대개 0. 따라서 t 값은 | + | \begin{eqnarray*} |
+ | \displaystyle s_{b_{1}} & = & \sqrt {\frac {MSE}{SS_{X}}} \\ | ||
+ | & = & \displaystyle \sqrt { \frac{1}{n-2} * \frac{SSE}{SS_{X}}} \\ | ||
+ | & = & \displaystyle \sqrt { \frac{1}{n-2} * \frac{ \Sigma{(Y-\hat{Y})^2} }{ \Sigma{ (X_{i} - \bar{X})^2 } } } \\ | ||
+ | \end{eqnarray*} | ||
- | * $\displaystyle t=\frac{b_{1}}{s_{b_{1}}}$ | ||
- | |||
- | * $\displaystyle s_{b_{1}} = \frac {MSE}{SS_{X}} = \frac{\sqrt{\frac{SSE}{n-2}}}{\sqrt{SS_{X}}} = \display\frac{\sqrt{\frac{\Sigma{(Y-\hat{Y})^2}}{n-2}}}{\sqrt{\Sigma{(X_{i}-\bar{X})^2}}} $ | ||
^ X ^ Y ^ $X-\bar{X}$ | ^ X ^ Y ^ $X-\bar{X}$ | ||
Line 697: | Line 757: | ||
Regression formula: y< | Regression formula: y< | ||
- | SSE = Sum of Square Error | + | SSE = Sum of Square Error = SS_residual |
기울기 beta(b)에 대한 표준오차값은 아래와 같이 구한다. | 기울기 beta(b)에 대한 표준오차값은 아래와 같이 구한다. | ||
- | $$se_{\beta} = \frac {\sqrt{SSE/ | + | |
- | & = & \frac {\sqrt{1.1/ | + | \begin{eqnarray*} |
+ | se_{\beta} | ||
+ | & = & \frac {\sqrt{1.1/ | ||
+ | & = & 0.191485 | ||
+ | \end{eqnarray*} | ||
그리고 b = 0.7 | 그리고 b = 0.7 | ||
따라서 t = b / se = 3.655631 | 따라서 t = b / se = 3.655631 | ||
- | < | ||
- | y <- c(1, 1, 2, 2, 4) | ||
- | mody <- lm(y ~ x) | ||
- | </ | ||
====== E.g., 4. Simple regression ====== | ====== E.g., 4. Simple regression ====== | ||
Line 906: | Line 966: | ||
<WRAP clear /> | <WRAP clear /> | ||
- | {{tag> statistics " | + | {{tag> statistics " |
regression.1541717688.txt.gz · Last modified: 2018/11/09 07:54 by hkimscil