능선 회귀에 대한 설명을 Applied Linear Statistical Models , 5th Ed 11 장 에서 읽었습니다 . 능선 회귀는 여기에서 사용할 수있는 체지방 데이터에 대해 수행 됩니다 .
다음 교재이면 변환 된 계수는 다음과 같이 피팅 모델에 주어진다 SAS에서 출력 일치
이것은 SAS에서 다음과 같이 표시됩니다.
proc reg data = ch7tab1a outest = temp outstb noprint;
model y = x1-x3 / ridge = 0.02;
run;
quit;
proc print data = temp;
where _ridge_ = 0.02 and y = -1;
var y intercept x1 x2 x3;
run;
Obs Y Intercept X1 X2 X3
2 -1 -7.40343 0.55535 0.36814 -0.19163
3 -1 0.00000 0.54633 0.37740 -0.13687
그러나 R은 매우 다른 계수를 제공합니다.
data <- read.table("http://www.cst.cmich.edu/users/lee1c/spss/V16_materials/DataSets_v16/BodyFat-TxtFormat.txt",
sep=" ", header=FALSE)
data <- data[,c(1,3,5,7)]
colnames(data)<-c("x1","x2","x3","y")
ridge<-lm.ridge(y ~ ., data, lambda=0.02)
ridge$coef
coef(ridge)
> ridge$coef
x1 x2 x3
10.126984 -4.682273 -3.527010
> coef(ridge)
x1 x2 x3
42.2181995 2.0683914 -0.9177207 -0.9921824
>
누구든지 왜 내가 이해하도록 도울 수 있습니까?
동일한 데이터 세트를 사용하고 SPSS에서 분석했습니다. 결과는 SAS와 유사합니다. 그러나 책에서와 같이 데이터를 표준화 할 수 있다면 c = 0의 첫 번째 값은 R과 SPSS에서 비슷합니다 (다중 선형 회귀 실행). 그러나 위에서 언급 한대로 더 나아가면 결과는 상당히 다릅니다. 나는 또한 동일한 데이터에 대한 출력 간의 차이에 대한 단서를 찾지 못했습니다.
—
asad