簡單線性回歸

2021-10-11 09:41:55 字數 1872 閱讀 4611

#資料預處理

data <- student_data[,-

1]#刪除缺失值

lm_data <- na.omit(data)

#散點圖

plot(height,weight, data = data,main=

"scatter plot",col=

1,pch)

#col為顏色,pch為形狀

#箱線圖

boxplot(height~weight)

#建立模型

model = lm(weight~height,data=lm_data)

summary(model)

abline(h = mean(weight)

, col =

"red"

)#橫著來一刀

abline(v =

170, col =

"red"

)#豎著來一刀

假設檢驗:身高體重是否有線性關係

區間估計(看是否包含0)不常用

t =

-qt(

0.025

, df = model$df.residual)

#t分布的quantile,qnorm是正態分佈的分位點

#區間為estimate-t*std.error到estimate+t*std.error

p值法

t =β

1^−0

se(β

1^

)t = \frac-0})}

t=se(β

1​^​

)β1​

^​−0

​se為std.error,自由度為n-r

f檢驗f=m

srms

ef=\frac

f=msem

sr​通過anova()函式得到

df為自由度

sum sq列為ssr和sse(risiduals那一行)

mean sq列為mer和mse

f value 為msr/mse

pr為自由度

summary(model)

t =-qt(

0.025

,df=

)

區間為estimate-t*std.error到estimate+t*std.error
或者直接用confint函式

confint(model)
點估計

model$coefficients
區間估計

x = data.frame(height = c(

165,

180)

)predict(model, newdata = x, interval =

"predict"

)

par(mfrow = c(1,

2))#以下兩圖一樣 殘差圖

plot(model, which =1)

plot(model$fitted.values,model$residuals)

#以下兩圖一樣 qq圖

plot(model, which =2)

qqnorm(variable y)

qqline(variable y)

#以下兩圖一樣 位置尺圖

plot(model, which =3)

plot(model$fitted.values,sqrt(abs(scale(model$residuals)))

)

簡單線性回歸

真實值 y theta x varepsilon 值 hat theta x varepsilon 為誤差 項,服從 均值為0 方差為 為誤差項,服從均值為0,方差為 為誤差項,服 從均值為 0,方差 為 sigma 的高斯分布。已知若干樣本,可以得到若干 varepsilon 值,根 據極大似 然...

2 1 簡單線性回歸

使用一種基於自變數 x 來 因變數 y 的方法,假設這兩個變數是線性相關的,因此我們嘗試尋找一種根據特徵或自變數 x 的線性函式來精確 響應值 y import pandas as pd import numpy as np import matplotlib.pyplot as plt datas...

簡單線性回歸演算法

一 目標 尋找一條直線,最大程度的 擬合 樣本特徵和樣本輸出標記之間的關係。在回歸問題中我們 的是乙個具體的數值,這個具體的數值是在乙個連續的空間裡的,如果想看兩個特徵的回歸問題就需要在三維空間裡進行觀察。樣本特徵有多個的回歸稱為多元線性回歸 損失函式 對a求偏導數 最後得到的結果 求a b的pyt...