R語言學習筆記 回歸分析

2021-08-15 00:21:00 字數 2591 閱讀 1824

1.一元線性回歸

lm():

lm(formula, data, subset, weights, na.action, method = "qr", model = true, x = false, y = false, qr = true, singular.ok = true, contrasts = null, offset,...)
formula為要擬合的模型;data為資料框或列表;subset樣本觀察值的子集;weights權重向量,應是數字向量或null;na.action為對缺失值的處理方法,預設為na.fail即返回錯誤,na.omit表示忽略缺失值,na.pass表示返回物件不變;method表明擬合的方法,包括「qr」,「model.frame」;model表示返回合適的模型框架;x表示返回模型矩陣;y表示返回響應;qr表示返回qr分解

2.多元線性回歸

同樣使用lm(),公式改變

包括:y~x,y~x+z,y~x*z,y~(x+z+m)^2等

逐步回歸:對多元回歸的結果進行逐步回歸

step()

step(object, scope, scale = 0, direction = c("both","backward","forward"),trace = 1,keep = null, steps = 1000, k = 2,...)
object是線性模型;scope確定逐步搜尋的範圍,是乙個公式或包含upper、lower的列表;direction確定逐步回歸的方法,預設值"both";trace若為正值,則逐步回歸分析的過程將列印出來;keep選擇物件元素的子集並返回;steps表示回歸的最大步數;k指aic的自由度

3.回歸診斷

殘差診斷:是否存在異常值

可用$residual提取殘差,通過繪製(殘差~資料序號)或(殘差~擬合值)散點圖像,觀察是否存在異常值

影響分析:強影響點

influence.measures():提供4種分析的彙總結果

infulence.measures(model)
model為模型

多重共線性診斷:

特徵根分析:存在特徵根接近0,說明存在多重共線性

求特徵根eigen()

eigen(x, symmetric, only.values = false, eispack = false)
x是待計算的矩陣;symmetric為true,則假設矩陣是對稱的;only.values預設返回特徵根和特徵向量,若為true則只返回特徵根。

x必須是經過標準化和中心化後的矩陣,主對角線元素必須為1。可以使用cor()對矩陣計算相關係數,對矩陣進行標準化。

條件數:多重共線性的嚴重程度

z為計算的矩陣;exact表示邏輯值,若為true表示精確計算條件數,預設為近似計算;method選擇使用的方法,預設為qr。

計算結果大於1000,說明多重共線性比較嚴重

方差擴大因子:

vif():daag包

vif(obj,digits=5)
obj為回歸分析物件,digits為小數點位數。

方差擴大因子大於10,說明存在多重共線性。

4.嶺回歸:針對多重共線性

通過繪製嶺跡圖選擇合適的k值

lm.ridge():mass包

lm.ridge(formula, data, subset, na.action, lambda = 0, model = false, x = false, y = false, contrasts = null,...)
formula是回歸模型公式表示式;data是資料框;subset選擇子集;na.action對缺失值進行處理;lambda是領引數的標量或向量;model、x、y分別表示結果是否返回模型框架、設計矩陣和響應變數

通過繪製圖,選擇合適的lambda,然後進行回歸,可以通過select()選擇合適的k值即lambda

5.廣義線性模型

glm()

glm(formula, family = gaussian, data, weights, subset, na.action, start = null, etastart, mustart, offset, control = list(...),...)
formula為擬合公式;family指定分布族,包括正態(gaussian)、二項(binomial)、泊松(poisson)、伽馬(gamma),還可以通過link指定連線函式,預設為family=gaussian(link=identity);offset指定常數部分;control用於對待估引數的範圍進行設定

具體分布及對應的連線函式可參考相關幫助。

R語言學習筆記 簡單的回歸分析

fitbit date cal step dist floor sit inactive walk run 2014年1月1日 2496 12803 9.14 15 1161 123 98 58 2014年1月2日 2513 12955 9.47 12 1188 112 67 73 2014年1月3...

R語言學習筆記 8 線性回歸

erg tutorial 3 linear model a lm medv lstat i lstat 2 date boston 對lstat和lstat 2進行線性回歸 a lm medv poly lstat,5 date boston 對lstat,lstat 2 lstat 3進行線性回歸...

R語言學習筆記

1.資料輸入 read.table n fileposition 函式 eg.x read.table c users administrator desktop 1.txt header t 目前只知道可以完好地讀入txt檔案 空格隔開 excel不支援 csv讀入不完全。ps.可以用excel生...