
如何使用線性回歸分析來預測發電廠的發電量
在這篇文章中,我將會教大家如何通過擬合一個線性回歸模型來預測聯合循環發電廠(CCPP)的發電量。這個數據集則來自于UCI Machine Learning Repository。這個數據集包含5列,也就是說,它包含環境溫度(AT)、環境壓力(AP)、相對濕度(RH)、抽真空(EV)已經發電廠的電網每小時的發電量。前面4個變量作為屬性,最后一個則作為因變量。
由于數據是xlsx格式,我們需要xlsx包。我們將提取數據文件中的第一個表格。
接下來,我們需要把數據集分成訓練數據集和測試數據集。就像它們的名字所暗示的那樣,訓練數據集用于訓練和建立模型,然后使用測試數據集對模型進行測試?,F在,我們把75%的數據集作為訓練數據集,和25%的數據作為測試數據集。我們可以按照下面的步驟操作:
現在,讓我解釋一下上面每一條指令所代表的含義。
第一,我們使用set.seed()函數使得數據具有可重復性。
然后,我們創建一個序列,使得它整個的長度等于數據集的行數。這些數字則作為這個數據集的索引。我們隨機的從序列中選擇75%的數據并把它存放到變量split中。
最后,我們把索引數組里所隱含的所有的行都復制到訓練數據集中,把剩下的數據則放到測試數據集中。
現在,讓我們預測一下這個模型。我們會使用lm()函數。
上面的這個函數將會嘗試從AP、V、AP和RH來推測PE。由于我們使用了數據集里的所有變量,一個更簡短的代碼為(如果這個數據集的變量非常多,這樣寫效果會很不錯):
我們現在用summary()來匯總一下這個模型:
這樣幫助我們決定哪些變量在這個模型中具有相關性。一個線性模型的表達式可以寫成 y_i = β_1 x_i1 + β_2 x_i2 + β_3 x_i3 + ? + ε,其中y_i代表模型的預測輸出,即因變量(PE)的預測值,而x_i則代表各個變量屬性(AT、V、AP和RH),而β則代表系數,ε代表一個常數項。
summary的第一行,它列舉了一些預測值。第一個值與ε有關,而剩下的則為各種屬性變量的系數,如果這些系數為0或者接近0,說明這幾個變量對預測幾乎沒有什么影響。因此, 我們需要把它們剔除掉。表示殘差的那一列給出了一些估計值,表明了這些系數的變化幅度有多大。t值通過劃分標準差列而計算出來的估計值。最后一列則預測這些系數(p(>|t|)的可能性,它與t值成反比。預測,一個屬性計算出較高的t值或是較低的Pr(>|t|)的絕對值是可以接受的。
想要判斷哪些變量具有較強的相關性,我們則可以通過觀察它們的星星數進行判斷。后面帶三顆星的表明這種變量相關性最強。接下來是兩顆星,最不想關的則為一顆星。變量的特征本身是否重要則通常沒有被包含到預測模型的預測當中,如何這個變量與其它毫不相干,則這些變量都不重要了。
在我們的模型中,我們可以看到所有變量都重要。當你要處理一個數據集,這里含有多個不想關的變量的時候,建議在此同時先把無關變量刪去。這時因為變量之間是高度相關的,其它則可能是顯著的。這就歸于它的多重共線性。你可以在這里找到更多關于多重共線性的內容。
想要知道模型的精度,最簡單的方法就是查看它的判定系數。summary里提供了兩個判定系數,即多重判定系數和調整判定系數。多重判定系數的計算過程如下:
多元判定系數=1-SSE/SST,其中:
SSE代表殘差平方和。殘差就是預測值與真實值之間的差,并可以由predictionModel$residuals來估算。
SST就是總平方和。它可以由真實值和均值之差的平方和計算出來。
比如說,我們有5、6、7和8這4個數,而模型的預測值分別為4.5,6.3,7.2和7.9。
然后,SSE可以這樣計算:SSE = (5 – 4.5) ^ 2 + (6 – 6.3) ^ 2 + (7 – 7.2) ^ 2 + (8 – 7.9) ^ 2,而SST則要這樣計算:mean = (5 + 6 + 7 + 8) / 4 = 6.5; SST = (5 – 6.5) ^ 2 + (6 – 6.5) ^ 2 + (7 – 6.5) ^ 2 + (8 – 6.5) ^ 2。
調整判定系數和多重判定系數很相似,但是它由變量的個數來決定。這意味著,在預測模型中,每增加一個變量,其調整判定系數也隨之增加。但是,如果一個變量在預測模型中顯示不相關,調整判定系數也會下降。關于更多判定系數的信息,請看這里。
調整判定系數為1的時候意味著,這是一個完美的預測模型;如果它為0,說明它沒有在基準模型上有任何提高(基準模型就是預測它總與均值相等)。從summary來看,我們看到判定系數為0.9284,相當高了
現在,我們使用測試數據集來預測模型了。
現在,觀察一下最初幾個預測值,并與測試數據集上的PE的真實值作比較:
對于PE的真實值為444.37,我們的預測值為440.0433,而對于446.48,其預測值為450.5260,以此類推。
我們可以基于上面的利用測試數據集而模擬出的模型來計算其判定系數:
這里,我們來到了文章的末尾。我希望你能在此感到很享受,找到了它的價值。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25