User Tools

Site Tools


sequential_regression

This is an old revision of the document!


Table of Contents

데이터

DATA for regression analysis
bankaccount income famnum
6 220 5
5 190 6
7 260 3
7 200 4
8 330 2
10 490 4
8 210 3
11 380 2
9 320 1
9 270 3
datavar <- read.csv("http://commres.net/wiki/_media/regression01-bankaccount.csv")

Enter

Model Summaryb
Model R R Square Adjusted R Square Std. Error of the Estimate Change Statistics
R Square Change F Change df1 df2 Sig. F Change
1 .893a .798 .740 .930 .798 13.838 2 7 .004
a. Predictors: (Constant), 가족숫자, 수입
b. Dependent Variable: 통장갯수
ANOVAa
Model Sum of Squares df Mean Square F Sig.
1 Regression 23.944 2 11.972 13.838 .004b
Residual 6.056 7 .865
Total 30.000 9
a. Dependent Variable: 통장갯수
b. Predictors: (Constant), 가족숫자, 수입
Coefficientsa
Model Unstandardized Coefficients Standardized Coefficients t Sig. Correlations
B Std. Error Beta Zero-order Partial Part
1 (Constant) 6.399 1.517 4.220 .004
수입 .012 .004 .616 3.325 .013 .794 .783 .565
가족숫자 -.545 .226 -.446 -2.406 .047 -.692 -.673 -.409
a. Dependent Variable: 통장갯수

$\hat{Y} = 6.399 + .012 X_{1} + -.545 X_{2} $

The below is just an exercise for figuring out the unique part of r2 value for x1 and x2 (수입, 가족수). For more information see part and zero-order relationship: see determining_ivs_role in multiple regression

zero-order part
x1 x2 x1p x2p
.794 -.692 .565 -.409
zero-order square part (in spss) = semipartial (in general)
x1 sq (x1sq) x2 sq (x1sq) x1 part sq (x1psq) x2 part sq (x1psq)
.630436 .478864 .319225 .167281
a+b / a+b+c+d b+c / a+b+c+d a / a+b+c+d c / a+b+c+d

x1sq - x1psq ~= x2sq - x2psq
0.311211 ~= 0.311583

R에서 보는 예는 아래를 참조

Seq.

Model Summaryc
Model R R Square Adjusted R Square Std. Error of the Estimate Change Statistics
R Square Change F Change df1 df2 Sig. F Change
1 .794a .631 .585 1.176 .631 13.687 1 8 .006
2 .893b .798 .740 .930 .167 5.791 1 7 .047
a. Predictors: (Constant), 수입
b. Predictors: (Constant), 수입, 가족숫자
c. Dependent Variable: 통장갯수

증가한 r2값에 대한 F-test 결과는 Fdiff=5.791, p = .047 (less than .05)

ANOVAa
Model Sum of Squares df Mean Square F Sig.
1 Regression 18.934 1 18.934 13.687 .006b
Residual 11.066 8 1.383
Total 30.000 9
2 Regression 23.944 2 11.972 13.838 .004c
Residual 6.056 7 .865
Total 30.000 9
a. Dependent Variable: 통장갯수
b. Predictors: (Constant), 수입
c. Predictors: (Constant), 수입, 가족숫자
Coefficientsa
Model Unstandardized Coefficients Standardized Coefficients t Sig. Correlations
B Std. Error Beta Zero-order Partial Part
1 (Constant) 3.618 1.242 2.914 .019
수입 .015 .004 .794 3.700 .006 .794 .794 .794
2 (Constant) 6.399 1.517 4.220 .004
수입 .012 .004 .616 3.325 .013 .794 .783 .565
가족숫자 -.545 .226 -.446 -2.406 .047 -.692 -.673 -.409
a. Dependent Variable: 통장갯수

http://imaging.mrc-cbu.cam.ac.uk/statswiki/FAQ/hier
https://ww2.coastal.edu/kingw/statistics/R-tutorials/multregr.html

r

datavar <- read.csv("http://commres.net/wiki/_media/regression01-bankaccount.csv")
datavar 
m1 <- lm(bankaccount~income+famnum, data=datavar)
summary(m1)
library(ppcor)
spcor(datavar)
pcor(datavar)
> datavar <- read.csv("http://commres.net/wiki/_media/regression01-bankaccount.csv")
> datavar 
   bankaccount income famnum
1            6    220      5
2            5    190      6
3            7    260      3
4            7    200      4
5            8    330      2
6           10    490      4
7            8    210      3
8           11    380      2
9            9    320      1
10           9    270      3
> m1 <- lm(bankaccount~income+famnum, data=datavar)
> summary(m1)

Call:
lm(formula = bankaccount ~ income + famnum, data = datavar)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.2173 -0.5779 -0.1515  0.6642  1.1906 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept)  6.399103   1.516539   4.220  0.00394 **
income       0.011841   0.003561   3.325  0.01268 * 
famnum      -0.544727   0.226364  -2.406  0.04702 * 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9301 on 7 degrees of freedom
Multiple R-squared:  0.7981,	Adjusted R-squared:  0.7404 
F-statistic: 13.84 on 2 and 7 DF,  p-value: 0.003696

> library(ppcor)
> spcor(datavar)
$estimate
            bankaccount    income     famnum
bankaccount   1.0000000 0.5646726 -0.4086619
income        0.7171965 1.0000000  0.2078919
famnum       -0.6166940 0.2470028  1.0000000

$p.value
            bankaccount   income    famnum
bankaccount  0.00000000 0.113182 0.2748117
income       0.02964029 0.000000 0.5914441
famnum       0.07691195 0.521696 0.0000000

$statistic
            bankaccount    income     famnum
bankaccount    0.000000 1.8101977 -1.1846548
income         2.722920 0.0000000  0.5623159
famnum        -2.072679 0.6744045  0.0000000

$n
[1] 10

$gp
[1] 1

$method
[1] "pearson"

> pcor(datavar)
$estimate
            bankaccount    income     famnum
bankaccount   1.0000000 0.7825112 -0.6728560
income        0.7825112 1.0000000  0.3422911
famnum       -0.6728560 0.3422911  1.0000000

$p.value
            bankaccount     income     famnum
bankaccount  0.00000000 0.01267595 0.04702022
income       0.01267595 0.00000000 0.36723388
famnum       0.04702022 0.36723388 0.00000000

$statistic
            bankaccount    income     famnum
bankaccount    0.000000 3.3251023 -2.4064253
income         3.325102 0.0000000  0.9638389
famnum        -2.406425 0.9638389  0.0000000

$n
[1] 10

$gp
[1] 1

$method
[1] "pearson"

## zero-order correlation
> cor(datavar)
            bankaccount     income     famnum
bankaccount   1.0000000  0.7944312 -0.6922935
income        0.7944312  1.0000000 -0.3999614
famnum       -0.6922935 -0.3999614  1.0000000
> 

semipartial (part): spcor()

bankaccount income famnum
bankaccount 1.0000000 0.5646726$(1)$ -0.4086619$(2)$
income 0.7171965 1.0000000 0.2078919
famnum -0.6166940 0.2470028 1.0000000
bankaccount income famnum
bankaccount 1.0000000 0.7825112 -0.6728560
income 0.7825112 1.0000000 0.3422911
famnum -0.6728560 0.3422911 1.0000000
bankaccount income famnum
bankaccount 1.0000000 0.7944312$(3)$ -0.6922935$(4)$
income 0.7944312 1.0000000 -0.3999614
famnum -0.6922935 -0.3999614 1.0000000
sp.b.i <- 0.5646726 ## (1)
c.b.i <- 0.7944312 ## (3)

sp.b.f <- -0.4086619 ## (2)
c.b.f <- -0.6922935 ## (4)

c.b.i.sq <- c.b.i^2 ## (3)^2
sp.b.i.sq <- sp.b.i^2 ## (1)^2
c.b.i.sq - sp.b.i.sq 

c.b.f.sq <- c.b.f^2 ## (4)^2
sp.b.f.sq <- sp.b.f^2 ## (1)^2
c.b.f.sq - sp.b.f.sq
> sp.b.i <- 0.5646726
> c.b.i <- 0.7944312
> 
> sp.b.f <- -0.4086619
> c.b.f <- -0.6922935
> 
> c.b.i.sq <- c.b.i^2 ## (3)^2
> sp.b.i.sq <- sp.b.i^2
> 
> c.b.i.sq - sp.b.i.sq 
[1] 0.3123
> 
> c.b.f.sq <- c.b.f^2 ## (4)^2
> sp.b.f.sq <- sp.b.f^2
> 
> c.b.f.sq - sp.b.f.sq
[1] 0.3123

0.3123 가 두 독립변인이 DV에 같이 (공히) 미치는 영향력 분량이다.

pcor.test(datavar$bankaccount, datavar$income, datavar$famnum)
pcor.test(datavar$bankaccount, datavar$famnum, datavar$income)

spcor.test(datavar$bankaccount, datavar$income, datavar$famnum)
spcor.test(datavar$bankaccount, datavar$famnum, datavar$income)

. . .

> pcor.test(datavar$bankaccount, datavar$income, datavar$famnum)
   estimate    p.value statistic  n gp  Method
1 0.7825112 0.01267595  3.325102 10  1 pearson
> pcor.test(datavar$bankaccount, datavar$famnum, datavar$income)
   estimate    p.value statistic  n gp  Method
1 -0.672856 0.04702022 -2.406425 10  1 pearson
>
> spcor.test(datavar$bankaccount, datavar$income, datavar$famnum)
   estimate  p.value statistic  n gp  Method
1 0.5646726 0.113182  1.810198 10  1 pearson
> spcor.test(datavar$bankaccount, datavar$famnum, datavar$income)
    estimate   p.value statistic  n gp  Method
1 -0.4086619 0.2748117 -1.184655 10  1 pearson
> 
> 
 

e.g. 3. Happiness

hierarchical.regression.data.csv

# Import data (simulated data for this example)
# myData <- read.csv('http://static.lib.virginia.edu/statlab/materials/data/hierarchicalRegressionData.csv')  
myData <- read.csv("http://commres.net/wiki/_media/hierarchical.regression.data.csv")
> str(myData)
'data.frame':	100 obs. of  5 variables:
 $ happiness: int  5 5 6 4 3 5 5 5 4 4 ...
 $ age      : int  24 28 25 26 20 25 24 24 26 26 ...
 $ gender   : chr  "Male" "Male" "Female" "Male" ...
 $ friends  : int  12 8 6 4 8 9 5 6 8 6 ...
 $ pets     : int  3 1 0 2 0 0 5 2 1 4 ...
> myData$gender <- factor(myData$gender)
> str(myData)
'data.frame':	100 obs. of  5 variables:
 $ happiness: int  5 5 6 4 3 5 5 5 4 4 ...
 $ age      : int  24 28 25 26 20 25 24 24 26 26 ...
 $ gender   : Factor w/ 2 levels "Female","Male": 2 2 1 2 1 2 2 2 2 2 ...
 $ friends  : int  12 8 6 4 8 9 5 6 8 6 ...
 $ pets     : int  3 1 0 2 0 0 5 2 1 4 ...
> 
sequential_regression.1606798072.txt.gz · Last modified: 2020/12/01 13:47 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki