用R實作簡單線性迴歸法並解釋其概念

WBOY
發布: 2024-01-22 23:09:11
轉載
1152 人瀏覽過

簡單線性迴歸是一種用於研究兩個連續變數之間關係的統計方法。其中,一個變數被稱為自變數(x),另一個變數稱為因變數(y)。我們假設這兩個變數之間存在線性關係,並試圖找到一個線性函數,以自變數的特徵來準確預測因變數的反應值(y)。透過擬合一條直線,我們可以得到預測的結果。這個預測模型可以用來理解和預測因變數如何隨著自變數的變化而變化。

為了理解這個概念,我們可以藉助一個薪水資料集,其中包含了每個自變數(經驗年限)對應的因變數(薪水)的值。

薪資資料集

年薪與經驗

1.1 39343.00

1.3 46205.00

1.5 37731.00

2.0 43525.00

2.2 39891.00

2.9 56642.00

3.0 60150.00

3.2 54445.00

3.2 64445.0007#7#7#105#7#510512#7#7#7#7#5.0512#7#。

#出於一般目的,我們定義:

x作為特徵向量,即x=[x_1,x_2,....,x_n],

y作為回應向量,即y=[y_1,y_2,....,y_n]

對於n次觀察(在上面的範例中,n=10)。

給定資料集的散佈圖

简单线性回归概念 R代码实现简单线性回归#現在,我們必須找到一條適合上述散佈圖的線,透過它我們可以預測任何y值或任何x值的反應。

最適合的線稱為迴歸線。

以下R程式碼用於實現簡單線性迴歸

dataset=read.csv('salary.csv')
install.packages('caTools')
library(caTools)
split=sample.split(dataset$Salary,SplitRatio=0.7)
trainingset=subset(dataset,split==TRUE)
testset=subset(dataset,split==FALSE)
lm.r=lm(formula=Salary~YearsExperience,
data=trainingset)
coef(lm.r)
ypred=predict(lm.r,newdata=testset)
install.packages("ggplot2")
library(ggplot2)
ggplot()+geom_point(aes(x=trainingset$YearsExperience,
y=trainingset$Salary),colour='red')+
geom_line(aes(x=trainingset$YearsExperience,
y=predict(lm.r,newdata=trainingset)),colour='blue')+
ggtitle('Salary vs Experience(Training set)')+
xlab('Years of experience')+
ylab('Salary')
ggplot()+
geom_point(aes(x=testset$YearsExperience,y=testset$Salary),
colour='red')+
geom_line(aes(x=trainingset$YearsExperience,
y=predict(lm.r,newdata=trainingset)),
colour='blue')+
ggtitle('Salary vs Experience(Test set)')+
xlab('Years of experience')+
ylab('Salary')
登入後複製

視覺化訓練集結果

以上是用R實作簡單線性迴歸法並解釋其概念的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:163.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!