工作和生活中存在大量的具有相關性的事件,當找到不同變量之間的關系,我們就會用到回歸分析。回歸分析(Regression Analysis):是用來確定2個或2個以上變量間關系的一種統計分析方法。
在回歸分析中,變量有2類:因變量 和 自變量。
- 因變量:通常是指實際問題中所關心的指標,用Y表示。
- 自變量:是影響因變量取值的一個變量,用X表示,如果有多個自變量則表示為X1, X2, …, Xn。
回歸分析研究的主要步驟:
- 確定因變量Y 與 自變量X1, X2, …, Xn 之間的定量關系表達式,即回歸方程。
- 對回歸方程的置信度檢查。
- 判斷自變量Xn(n=1,2,…,m)對因變量的影響。
- 利用回歸方程進行預測。
假設X和Y的關系是線性,可以用公式表式為:Y = a + b * X + c
- Y,為因變量
- X,為自變量
- a,為截距(Intercept)
- b,為自變量系數
- a+b*X, 表示Y隨X的變化而線性變化的部分
- c, 為殘差或隨機誤差,是其他一切不確定因素影響的總和,其值不可觀測。假定c是符合均值為0方差為σ^2的正態分布 ,記作c~N(0,σ^2)
對於上面的公式,稱函數f(X) = a + b * X 為一元線性回歸函數,a為回歸常數,b為回歸系數,統稱回歸參數。X 為回歸自變量或回歸因子,Y 為回歸因變量或響應變量。
實例
牙膏銷售的實例:數據結構及示例化如下
分析: 對於大多數顧客來說,在購買同類牙膏時,更多的會關心不同品牌之間的價格差,而不是它們的價格本身。因此,在研究各個因素對銷售量的影響時,用價格差代替公司銷售價格和其他廠家平均價格更為合適。
在計算過程中並不一定要知道Y和X是否有線性相關的關系。如果不存相關關系,那么回歸方程就沒有任何意義了,如果Y和X是有相關關系的,即Y會隨着X的變化而線性變化。所以,我們需要用假設檢驗的方法,來驗證相關性的有效性。
通常會采用三種顯著性檢驗的方法:
- T檢驗法:T檢驗是檢驗模型某個自變量Xi對於Y的顯著性,通常用P-value判斷顯著性,小於0.01更小時說明這個自變量Xi與Y相關關系顯著。
- F檢驗法:F檢驗用於對所有的自變量X在整體上看對於Y的線性顯著性,也是用P-value判斷顯著性,小於0.01更小時說明整體上自變量與Y相關關系顯著。
- R^2(R平方)相關系統檢驗法:用來判斷回歸方程的擬合程度,R^2的取值在0,1之間,越接近1說明擬合程度越好。
回歸模型擬合數據
當兩個變量之間存在非常強烈的相互依賴關系的時候,我們就可以說兩個變量之間的存在高度相關性。若兩組的值一起增大,我們稱之為正相關,若一組的值增大時,另一組的值減小,我們稱之為負相關。
在使用回歸模型擬合數據之前,我們先來觀察自變量與因變量之間是如何相關的,我們求出除周期這一列外,其它各列的相關系數矩陣
觀察發現sales銷售量列的相關系數絕對值越大,相關性越強。注:R中cor函數來計算相關性也是有局限的,它不能計算非線性模型。
基本模型
利用散點圖觀察銷售量與價格差和廣告費用的關系
library(ggplot2) mytable <- read.csv("price.csv") gplot(mytable,aes(x=mytable$DifPrice,y=mytable$sales))+geom_point()+labs(x="價格差",y="銷售量")+geom_smooth(se=F)+theme_bw() ggplot(mytable,aes(x=mytable$price,y=mytable$sales))+geom_point()+labs(x="價格",y="銷售量")+geom_smooth(se=F)+theme_bw() ggplot(mytable,aes(x=mytable$Invest,y=mytable$sales))+geom_point()+labs(x="廣告費",y="銷售量")+geom_smooth(se=F)+theme_bw()
如上圖可以發現隨着價格差(x1)的增加,銷售量(y)有比較明顯的線型增長趨勢;隨着廣告費用的增加,銷售量有向上彎曲增加的趨勢;
模型求解
- Residuals(殘差):列出了殘差的最小值點,1/4分位點,中位數點,3/4分位點,最大值點。
- Coefficients(系數):表示參數估計的計算結果。Residual standard error:表示殘差的標准差,自由度為n-2
- Estimate(估計):參數估計列。Intercept行表示常數參數a的估計值
- Std. Error:為參數的標准差,sd(a), sd(b)
- t value:為t值,為T檢驗的值
- Pr(>|t|) :表示P-value值,用於T檢驗判定,匹配顯著性標記
- 顯著性標記:***為非常顯著,**為高度顯著, **為顯著,·為不太顯著,沒有記號為不顯著。
- Multiple R-squared:為相關系數R^2的檢驗,越接近1則越顯著。
- Adjusted R-squared:為相關系數的修正系數,解決多元回歸自變量越多,判定系數R^2越大的問題。
- F-statistic:表示F統計量,自由度為(1,n-2)
- p-value:用於F檢驗判定,匹配顯著性標記。
模型改進
從如上的散點圖可以看出,隨着廣告投入增加,銷售量有向上彎曲增加的趨勢。這里我們將廣告投入的自變量換為二階項來。則將銷售量模型改為:
用lm函數擬合以上模型特征:
此時,我們發現,模型殘差的標准差Residual standard error有所下降,相關系數的平方Multiple R-squared有所上升,這說明模型修正的是合理的。但同時也出現了一個問題,就是對於β2的P-值>0.05。
在做進一步的修正,考慮X1和X2交互作用,及模型為:
模型通過T檢驗和F檢驗,並且Residual standard error減少,Multiple R-squared增加。因此,最終模型選為:
標准化
參考