0

私は、サンプル平均で他の変数を一定に保つことにより、モデル内の個々の変数の説明力を調べようとしています。

ただし、次のようなことはできません。

Temperature = alpha + Beta1*RFGG + Beta2*RFSOx + Beta3*RFSolar 

どこ Beta1=Beta2=Beta3 -- 次のようなもの

Temperature = alpha + Beta1*(RFGG + RFSolar + RFSOx)

これを行いたいのは、1 つの独立変数が標本平均で保持されず、残りが保持されている場合の説明力 (R^2/残差のサイズ) の違いを比較できるようにするためです。

Temperature = alpha + Beta1*(RFGG + meanRFSolar + meanRFSOx)

また

Temperature = alpha + Beta1*RFGG + Beta1*meanRFSolar + Beta1*meanRFSOx

ただし、lm関数は独自の係数を推定しているように見えるため、何かを一定に保つ方法がわかりません。これは、私が一緒に投げようとしたいくつかの醜いコードです。

    # fixing a new clean matrix for my data
dat = cbind(dat[,1:2],dat[,4:6]) # contains 162 rows of: Date, Temp, RFGG, RFSolar, RFSOx

# make a bunch of sample mean independent variables to use
meandat = dat[,3:5]
meandat$RFGG = mean(dat$RFGG)
meandat$RFSolar = mean(dat$RFSolar)
meandat$RFSOx = mean(dat$RFSOx)

RFTotal = dat$RFGG + dat$RFSOx + dat$RFSolar

B = coef(lm(dat$Temp ~ 1 + RFTot)) # trying to save the coefficients to use them...
B1 = c(rep(B[1],length = length(dat[,1])))
B2 = c(rep(B[2],length = length(dat[,1])))

summary(lm(dat$Temp ~ B1 + B2*dat$RFGG:meandat$RFSOx:meandat$RFSolar)) # failure
summary(lm(dat$Temp ~ B1 + B2*RFTot))

これを見た人は誰でも見てくれてありがとう。質問があれば私に聞いてください。

4

1 に答える 1

0

お二方ありがとうございます(-1)で切片をなくすこととオフセット機能の組み合わせでした。

a = lm(Temp ~ I(RFGG + RFSOx + RFSolar),data = dat)
beta1hat = rep(coef(a)[1],length=length(dat[,1]))
beta2hat = rep(coef(a)[2],length=length(dat[,1]))

b = lm(Temp ~ -1 + offset(beta1hat) + offset(beta2hat*(RFGG + RFSOx_bar + RFSolar_bar)),data = dat)
c = lm(Temp ~ -1 + offset(beta1hat) + offset(beta2hat*(RFGG_bar + RFSOx + RFSolar_bar)),data = dat)
d = lm(Temp ~ -1 + offset(beta1hat) + offset(beta2hat*(RFGG_bar + RFSOx_bar + RFSolar)),data = dat)
于 2016-02-09T22:55:08.200 に答える