※ 引述《ericchin0404 (凜魂)》之銘言:
: [問題類型]:
: 程式諮詢
: [軟體熟悉度]:
: 新手
: [問題敘述]:
: 就是我現在有一個反應變數向量Y
: 跟一個解釋變數矩陣X,每一行代表一個變數
: 然後我對他做迴歸
: m=lm(Y~X)
: 然後我想用stepwise選變數,所以寫了
: step(m)
: 不過做出來的結果就是原來的模型,他根本沒有挑選
: 但如果我把模型寫成
: m=lm(Y~X[,1]+X[,2]+X[,3]+X[,4])
: 他就可以選
: 所以我的問題是,如果我要做逐步迴歸,可是迴歸模型想用矩陣表示,那程式應該怎麼
寫
: ?
: 另外想問若想把模型改成有二次項跟交互作用項,要怎麼寫?
: 麻煩各位,謝謝
我還是遇到一些問題
我的迴歸模型嘗試了以下兩種寫法
1.
X2 = cbind(model.matrix(~.^2,data = as.data.frame(X[ind2,]))[,-1],X[ind2,]^2)
m2 = lm(Y[ind2]~-1+sqrt(size[a,k])[ind2]+.,as.data.frame(X2))
2.
m2 = lm(Y[ind2]~-1+sqrt(size[a,k])[ind2]+(.)^2
+I(X[ind2,1]^2)+I(X[ind2,2]^2)+I(X[ind2,3]^2)
+I(X[ind2,4]^2)+I(X[ind2,5]^2)+I(X[ind2,6]^2)
,as.data.frame(X[ind2,]))
以上兩種迴歸模型都是無截距項,且包含交互作用項和平方項
然後使用step(m2)這個指令進行選模
但是為什麼選出來的變數會不相同
理論上模型相同,選模的指令也相同,只是模型寫法不同,選出來的變數應該要相同才對
,
到底是哪邊出了差錯???
Btw, X本身是一個6行的矩陣,也就是它是一個有六個變數的矩陣