1. 程式人生 > >R語言 迴歸分析函式說明

R語言 迴歸分析函式說明

迴歸分析相關的函式

1、一元線性迴歸

lm() #計算beta0,beta1引數

summary() # 提取lm()引數資訊

anovn() #方差分析

predict() # 根據給出自變數預測因變數的值

例:

a=lm(y~1+x,data=…) #對x,y迴歸分析

summary(a) # 提取回歸分析結果

new=data.frame(x=0.16) # 當x=0.16時對y進行預測,必須為資料框格式

lm.new=predict(a,new,interval=”prediction”,level=0.95)#利用a得到的迴歸分析,對new進行預測

abline(a)#繪製迴歸直線

b=residuals(a) # 計算迴歸方程殘差

plot(b) #繪製殘差散點圖

提取模型lm()資訊的通用函式

anova(a)#計算方差分析表aov()

coefficients()# 提取模型係數

deviance()#計算殘差平方和

formula()#提取模型公式

plot()#繪製模型診斷圖

predict()#預測

print()# 顯示

residuals()#計算殘差

step()#做逐步迴歸

summary()#提取模型資料

2、多元迴歸分析

update()修正擬合模型

例:

fm5=lm(y~x1+x2+x3+x4+x5,data=…)

fm6=update(fm5, .~.+x6)

smf6=update(fm6,sqrt(.)~.)

lm(y~x1+I(x2^2))

add1()

drop1()

step()

3、逐步迴歸

step(object,scope,

direction=c(“both”,”backward”,”forward”)

trace=1,keep=Null,steps=1000,k=2,…)

4、迴歸診斷(1.誤差項:獨立性 等方差性 正態性

2.選擇線性模型是否合適

3.是否存在異常樣本

4.迴歸分析結果是否對某個樣本依賴過重

5.自變數之間是否存在高度相關)

作圖

殘差

residuals()

Shapiro.test() #殘差正態性檢驗

rstandard(model,infl=lm.influence(model,do.coef=FALSE)

sd=sqrt(deviance(model)/df.residual(model)),…) #標準化殘差

rstudent()#學生化殘差

迴歸值Y與殘差的散點圖

y.res=resid(lm.sol)

yfit=predict(lm.sol)

plot(y.res~y.fit)#殘差圖

y.rst=rstandard(lm.sol)

plot(y.rst~yfit)#標準化殘差圖

R語言 迴歸分析 方差分析

以自變數為橫座標的殘差圖

y.res=resid(lm.sol)

plot(y.res~x1)

plot(y.res~x2)

強影響點(異常值)

hatvalues()

hat()

dffits()

cooks.distance()

covratio()

influence.measures(model)#迴歸診斷的總括

多重共線

kappa() #計算矩陣的條件數

eigen() # 計算矩陣特徵值

5、廣義線性模型

glm(formula, # 公式

family=c(binomial,Gaussian,gamma,inverse,poisson,quasi)# 分佈族

data=…)# 資料

非線性迴歸

lm(y~1+x+I(x^2),data=…)

poly(x,degree=1,codfs=NULL)正交多項迴歸 degree多項式階數

lm(y~1+poly(x,2))

nls()#求非線性最小二乘問題

nlm()#非線性模型引數估計

6、方差檢驗

單因素方差分析

aov(x~A)# x要分析變數A變數因子水平

均值的多重比較

pairwise.t.test(x,g) # x相應變數 g因子向量

P值修正

P.adjust(p,method=…)

方差齊性檢驗

誤差正態性檢驗

shapiro.test(X[A==1])

方差齊性檢驗

bartlett.test()

通過秩統計量進行方差分析(分析各水平之間是否存在差異)

K-W秩和檢驗

kruskal.test()

Friedman秩和檢驗

friedman.test()

雙因素方差分析

aov(Y~A+B+A:B)#對A B兩個因素進行分析 並考慮了互動作用