自變數選擇(R語言)

2021-09-10 01:51:28 字數 2722 閱讀 4406

設ra2

r_^ra

2​為調整的復決定係數,n

nn為樣本量,p

pp為自變數的個數,則

r a2

=1−n

−1n−

p−1(

1−r2

)r_^=1-\frac(1-r^)

ra2​=1

−n−p

−1n−

1​(1

−r2)

在乙個實際問題的回歸建模中,自由度調整復決定係數ra2

r_^ra

2​越大,所對應的回歸方程越好。從擬合優度的角度追求最優,則所有回歸子集中ra2

r_^ra

2​最大者對應的回歸方程就是最優方程。

**實現如下:

data3.1

library(leaps)

exps

expres

resres

解釋:

第3行呼叫regsubsets函式式對資料做所有子集(除了全模型)回歸分析,共有2m−

22^-2

2m−2

個變數子集的模型回歸結果,並將結果賦給exps,回歸結果中計算了ra2

r_^ra

2​的值。其中nbest可以任意賦大於等於1的值n

nn,其主要用於展示包含不同變數個數(1個、2個或多個解釋變數)的子集的前n

nn個最佳模型。假如本例中,nbest=3,結果中間首先展示3個最佳的單解釋變數的模型,然後展示3個最佳的含有兩個解釋變數的模型,以此類推,直至展示3個最佳的包含8個解釋變數的模型。當nbest=126時,將顯示所有的回歸子集,但不包含全模型。

輸出結果:

根據上面的輸出結果可知,依據ra2

r_^ra

2​準則選出的最優子集為x1,

x2,x

3,x5

,x6x1,x2,x3,x5,x6

x1,x2,

x3,x

5,x6

,同時也可以看出包含變數x1,

x2,x

3,x5

x1,x2,x3,x5

x1,x2,

x3,x

5的子集回歸模型的ra2

r_^ra

2​取值與最優子集回歸模型的ra2

r_^ra

2​差別很小。如果僅考慮ra2

r_^ra

2​這乙個準則時,則x1,

x2,x

3,x5

,x6x1,x2,x3,x5,x6

x1,x2,

x3,x

5,x6

為最優子集,但是實際應用中應該考慮幾個準則來確定最優子集。

2023年馬洛斯從**的角度提出可乙個可以用來選擇自變數的統計量,這就是常說的cpc_

cp​統計量。根據選模型**的均方誤差比全模型**的方差更小的性質,也可以知道即使全模型正確,但仍有可能選模型有更小的**誤差。cpc_

cp​正是根據這一原理提出來的。

c p=

ssep

σ^2−

n+2p

c_=\frac}^}-n+2p

cp​=σ^

2sse

p​​−

n+2p

= (n

−m−1

)sse

psse

m−n+

2p=(n-m-1)\frac}}-n+2p

=(n−m−

1)ss

em​s

sep​

​−n+

2p式中,σ^2

=1n−

m−1s

sem\hat^=\fracsse_

σ^2=n−

m−11

​sse

m​,為全模型中σ

2\sigma^

σ2的無偏估計。

這樣我們就得到乙個選擇變數的cpc_

cp​準則:選擇使cpc_

cp​最小的自變數子集,這個自變數子集對應的回歸方成就是最優回歸方程。

**實現如下:

data3.1

library(leaps)

exps

expres

resres

輸出結果如下:

由以上輸出結果可知,依據cpc_

cp​準則選出最優的子集為x1,

x2,x

3,x5

x1,x2,x3,x5

x1,x2,

x3,x

5,而且cp=

1.726

c_=1.726

cp​=1.

726與其他7個子集所對應的cpc_

cp​的取值均有明顯差異。

因此,綜合cpc_

cp​和ra2

r_^ra

2​的輸出結果,我們可以選擇包含變數x1,

x2,x

3,x5

x1,x2,x3,x5

x1,x2,

x3,x

5的回歸模型作為最優子集回歸模型。

語言線性擬合線對稱 練習R 分類自變數的線性回歸

但是r不同,用lm 函式擬合線性時,如果自變數是分類的,那麼模型會自動將其做啞變數處理,顯然是更符合線性回歸的條件要求。分析任務考察不同 職位等級 對 薪金 的影響。其中 職位等級 為三水平分類變數,1代表基層,2代表中層,3代表高層。lm 線性擬合 fit回歸係數結果如下 自動以低水平作為參照形成...

php中自變數 PHP 變數

php 變數作用域 變數的作用域是指令碼中變數可被引用和使用的部分,php 中有四種不同的變數作用域 序號作用域 描述local 區域性作用域 global 全域性作用域 static 靜態作用域 parameter 函式引數作用域 1 local 本地的 區域性變數的作用域 在 php 函式內部宣...

R語言 變數

變數的命名規則 只能包含資料,字母,點,下劃線,僅能以字母或者點開頭,但是點後面不能直接跟數字。變數的賦值 可以使用等於,向左,向右賦值,可以用print或者cat 函式輸出。例子 var.1 c 1,2,3 var.2 c 4,5,6 var.3 c green red yellow print ...