partial_and_semipartial_correlation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
partial_and_semipartial_correlation [2024/10/17 10:28] – [e.g. Using ppcor.test with 4 var] hkimscilpartial_and_semipartial_correlation [2025/06/04 08:37] (current) – [X1과 X2 간의 상관관계가 심할 때 Regression 결과의 오류] hkimscil
Line 502: Line 502:
   summary(reg.3)$r.square   summary(reg.3)$r.square
 # so common explanation area should be # so common explanation area should be
-summary(reg.all)$r.square - carm(list=ls())+summary(reg.all)$r.square - ca
  
-library(ggplot2) 
-library(dplyr) 
-library(tidyr) 
-library(faux) 
- 
-set.seed(101) 
-scholar <- rnorm_multi(n = 50,  
-                       mu = c(3.12, 3.3, 540, 650), 
-                       sd = c(.25, .34, 12, 13), 
-                       r = c(0.15, 0.44, 0.47, 0.55, 0.45, 0.88),  
-                       varnames = c("HSGPA", "FGPA", "SATV", "GREV"), 
-                       empirical = FALSE) 
-attach(scholar) 
- 
-# library(psych) 
-describe(scholar) # provides descrptive information about each variable 
- 
-corrs <- cor(scholar) # find the correlations and set them into an object called 'corrs' 
-corrs                 # print corrs 
- 
-pairs(scholar)        # pairwise scatterplots 
- 
-# install.packages("ppcor") 
-library(ppcor) 
- 
-reg.f.sh <- lm(FGPA ~ SATV + HSGPA)   # second regression 
-res.f <- resid(reg.f.sh)     # second set of residuals - FGPA free of SATV and HSGPA 
- 
-reg.s.fh <- lm(SATV ~ FGPA + HSGPA)    
-res.s <- resid(reg.s.fh)     
- 
-reg.h.sf <- lm(HSGPA ~ FGPA + SATV)    
-res.h <- resid(reg.h.sf)     
- 
-reg.all <- lm(GREV ~ HSGPA + FGPA + SATV) 
-reg.1 <- lm(GREV ~ res.f) 
-reg.2 <- lm(GREV ~ res.s) 
-reg.3 <- lm(GREV ~ res.h) 
- 
-summary(reg.all) 
-summary(reg.1) 
-summary(reg.2) 
-summary(reg.3) 
- 
-reg.1$coefficient[2] 
-reg.2$coefficient[2] 
-reg.3$coefficient[2] 
- 
-spr.y.f <- spcor.test(GREV, FGPA, scholar[,c("SATV", "HSGPA")]) 
-spr.y.s <- spcor.test(GREV, SATV, scholar[,c("HSGPA", "FGPA")]) 
-spr.y.h <- spcor.test(GREV, HSGPA, scholar[,c("SATV", "FGPA")]) 
- 
-spr.y.f$estimate 
-spr.y.s$estimate 
-spr.y.h$estimate 
- 
-spr.y.f$estimate^2 
-spr.y.s$estimate^2 
-spr.y.h$estimate^2 
- 
-summary(reg.1)$r.square 
-summary(reg.2)$r.square 
-summary(reg.3)$r.square 
- 
-ca <- summary(reg.1)$r.square +  
-  summary(reg.2)$r.square +  
-  summary(reg.3)$r.square 
-# so common explanation area should be 
-summary(reg.all)$r.square - ca 
 </code> </code>
  
Line 763: Line 694:
  
 </code> </code>
 +
 +----
 {{:pasted:20241016-080226.png}} {{:pasted:20241016-080226.png}}
  
Line 773: Line 706:
 그런데 이 coefficient값은 독립변인 각각의 고유의 설명력을 가지고 (spcor.test(GREV, x1, 나머지제어)로 얻은 부분) 종속변인에 대해서 regression을 하여 얻은 coefficient값과 같음을 알 수 있다. 즉, <fc #ff0000>multiple regression의 독립변인의 b coefficient 값들은 고유의 설명부분을 (spr) 추출해서 y에 (GREV) regression한 결과와 같음을</fc> 알 수 있다.  그런데 이 coefficient값은 독립변인 각각의 고유의 설명력을 가지고 (spcor.test(GREV, x1, 나머지제어)로 얻은 부분) 종속변인에 대해서 regression을 하여 얻은 coefficient값과 같음을 알 수 있다. 즉, <fc #ff0000>multiple regression의 독립변인의 b coefficient 값들은 고유의 설명부분을 (spr) 추출해서 y에 (GREV) regression한 결과와 같음을</fc> 알 수 있다. 
  
 +reg.all
 +{{:pasted:20250604-082250.png?600}}
 +reg.1
 +{{:pasted:20250604-082519.png?600}}
 +reg.2
 +{{:pasted:20250604-082635.png?600}}
 +reg.3
 +{{:pasted:20250604-082740.png?600}}
 또한 세 독립변인이 공통적으로 설명하는 부분은  또한 세 독립변인이 공통적으로 설명하는 부분은 
   * 0.39    * 0.39 
Line 937: Line 878:
 m <- lm(weights ~ LSS + RSS) m <- lm(weights ~ LSS + RSS)
  
-## F-value is very small, but neither LSS or RSS are significant+## F-value is very largeand significant.  
 +but neither LSS or RSS are significant with t-test
 summary(m) summary(m)
  
partial_and_semipartial_correlation.1729128498.txt.gz · Last modified: 2024/10/17 10:28 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki