1、什麼是線性擬合?
線性擬合,顧名思義,針對兩組數據或多組數據,找出一條最佳擬合直線,常用於處理與自變量呈線性關係的因變量。線性擬合是數據處理的常用方法,擬合的目的是對呈現一定數值關係的因變量與自變量找出最佳擬合方程,一般用線性回歸來實現。
2、什麼是曲線擬合?
真實世界研究中,變量間不一定是線性關係,比如疾病療效與療程長短的關係、服藥後血藥濃度與時間的關係等常呈曲線關係。此時,線性擬合效果不佳,曲線擬合提供了一個很好的解決思路。
曲線擬合(Curve Fitting)是指選擇適當的曲線類型來擬合觀測數據,並用擬合的曲線方程分析兩個變量之間的關係。也可以說曲線擬合就是使用某個模型(或者稱為方程),將一系列的數據擬合出平滑的曲線,以便觀察兩組數據之間的內在聯繫,了解數據之間的變化趨勢。
通過對數據進行曲線擬合,我們不但能找到數據中潛在的某種規律,還能對數據的變化進行預測。
3、Excel實現線性擬合與曲線擬合
Excel軟體對於簡單的線性和曲線擬合,實現起來比較方便。
4、R語言實現線性擬合與曲線擬合
R語言的ggplot2函數在數據可視化方面很厲害,但是有的圖形用ggplot2實現起來會比較費勁,需要寫很多的代碼,耗時耗力,對於初學者不太友好。此時,可以用專門的包來實現,非常的方便,這也是R語言比Python強大的地方,很多R包能方便實現一些特定的用途。
比如我們想用ggplot2函數把擬合的方程顯示到圖形上,需要寫不少代碼來實現這一目的。但有一個R包basicTrendline,可以很方便實現,此包的優秀之處在於它可以一次性生成散點圖的擬合曲線、擬合方程、判別係數R2和P值,並把這些內容顯示在圖上。知識補充:R^2衡量的是回歸方程整體的擬合度,R^2等於回歸平方和在總平方和中所佔的比率,即回歸方程所能解釋的因變量變異性的百分比。R^2越大越好,說明曲線擬合的越好,當然也要注意過擬合的問題。
basicTrendline包可以使用函數「trendline」建立不同的擬合方程,只需要改變參數model的值就可以選擇不同模型來擬合。參數「model」的值如line2P為一次函數,line3P為二次函數,log2P為對數函數,exp2P為指數函數,exp3P為指數函數(帶常數項),power2P為冪函數,power3P為冪函數(帶常數項),更多內容可以通過?trendline查看其幫助文檔。
軟體操作
#install.packages("basicTrendline")
library(basicTrendline)
#使用R軟體自帶的數據集women,有兩個變量,分別為身高height和體重weight。
head(women)
str(women)
#加載數據
attach(women)
#我們想通過height來預測weight,把height賦值為x,weight賦值為y。註:如果直接用weight和height放到函數trendline裡有時候會出錯,為了保險,直接賦值為x和y。
x<-height
y<-weight
#添加趨勢線
# 一次函數:y=a*x+b
trendline(x, y, model="line2P", ePos.x = "topleft", summary=TRUE, eDigit=5)
# 二次函數:y=a*x^2+b*x+c
trendline(x, y, model="line3P", ePos.x = "topleft", summary=TRUE, eDigit=5)
# 對數函數:y=a*ln(x)+b
trendline(x, y, model="log2P", ePos.x = "topleft", summary=TRUE, eDigit=5)
# 指數函數:y=a*exp(b*x)
trendline(x, y, model="exp2P", ePos.x = "topleft", summary=TRUE, eDigit=5)
# 冪函數:y=a*x^b
trendline(x, y, model="power2P", ePos.x = "topleft", summary=TRUE, eDigit=5)
參考資料
醫學統計學與SPSS軟體應用. 王彤. 北京大學醫學出版社
小怪獸的R學社. 答疑貼2:R語言線性和非線性擬合
諾曼空間SpaceOfNorman.線性擬合
手把手教線性回歸分析(附R語言實例). https://blog.csdn.net/tMb8Z9Vdm66wH68VX1/article/details/79544739
在線曲線擬合方程. http://www.qinms.com/webapp/curvefit/cf.aspx
Excel曲線擬合的方法. https://www.xuexila.com/excel/hanshu/794088.html
寫在後面
今天開始,我們新增加了推薦有獎的活動,如果覺得統計諮詢會員比較好,請你幫忙推薦給需要的人,每推薦成功一位,會有30元的獎勵。詳情可在微信公眾號後臺,添加作者微信諮詢。
如果你有感興趣的統計問題,也可以在留言區留言,我會儘量解答。如果大家認可這篇推文,點個「在看」告訴我吧!