1,線性回歸,多元回歸,邏輯回歸
回歸即用乙個函式**資料之間的關係。線性回歸指用線性函式的方式來研究變數之間關係。多元回歸是指線性函式中變數有多個。邏輯回歸是線性回歸的拓展,資料分析中有兩類問題:回歸和分類。回歸的問題採用回歸的方法,分類的問題採用分類的方法。邏輯回歸是用線性回歸的方法來**分類問題。
舉乙個例子:
**房價跟房屋面積和樓層之間的關係:
"""面積 樓層 房價
100 8 20000
120 6 19000
80 20 15000
60 23 14000
150 10 18000
150 20 17000
90 20 17000
"""class
house_predict():
def__init__
(self):
x=np.mat([[100,8],[120,6],[80,20],[60,23],[150,10],[150,20],[90,20]])
self.x=np.hstack((x,np.ones((x.shape[0],1))))#
新增常數項
self.y=np.mat([[20000],[19000],[15000],[14000],[18000],[17000],[17000]])
#根據多元回歸公式,w=(xtx)-1xty
self.w=np.linalg.inv(self.x.t*self.x)*(self.x.t)*self.y
defpredict(self,data):
return self.w.t*(np.mat(data).reshape(3,1))
#評估一下資料方差
defdata_variance(self):
sum=0
for i in
range(self.x.shape[0]):
sum+= (self.x[[i],:]*self.w-self.y[[i],[0]])**2
return sum
2.梯度下降法。
採用最小二乘法計算線性回歸,是一種較方便的方法。在資料分析中,如果資料無法求導,則採用梯度下降法進行迭代求回歸係數。其係數隨著迭代次數的增加,逼近最小二乘法的係數。
#梯度下降法
class
house_predict1():
def__init__
(self):
x = np.mat([[100, 8], [120, 6], [80, 20], [60, 23], [150, 10], [150, 20], [90, 20]])
self.x = np.hstack((x, np.ones((x.shape[0], 1)))) #
新增常數項
self.y = np.mat([[20000], [19000], [15000], [14000], [18000], [17000], [17000]])
self.error_list =
defgra_near(self):
length =self.x.shape[0]
thea0, thea1, thea2 =0, 0, 0
max_count = 500000 #
最大迭代次數
error_near = 0.1 #
誤差閾值
grad = 0.0001 #
步長 thea_array = np.mat([[thea1], [thea2], [thea0]]).astype(float) #
thea0為常數項
error =0
for i in
range(max_count):
thea_array+= ((self.y - self.x * thea_array).t * self.x * grad /length).t
error_temp = np.mean((self.y - self.x * thea_array).t * (self.y - self.x *thea_array))
if np.abs(error - error_temp) < error_near:#
判定誤差小於閾值,表示結束迭代
break
error =error_temp
defplt_line(self):
plt.plot(list(range(len(self.error_list))), self.error_list)
plt.show()
Python金融大資料分析 回歸分析
回歸分析是金融中乙個繞不過的話題,其實最好的工具應該是r語言,但是pandas其實也是能夠勝任絕大部分工作的。這裡我們就簡單介紹一下。import pandas as pd import numpy as np import matplotlib.pyplot as plt noise np.ran...
Python資料分析 線性回歸
python資料分析學習筆記,今天分享下利用python對業務進行資料預處理,並利用線性回歸進行資料 壹 資料匯入 多人學習python,不知道從何學起。很多人學習python,掌握了基本語法過後,不知道在 尋找案例上手。很多已經做案例的人,卻不知道如何去學習更加高深的知識。qq群 10570343...
線性回歸資料分析
首先,什麼是回歸,回歸分析研究的是多個變數之間的關係。它是一種 性的建模技術,它研究的是因變數 目標 和自變數 器 之間的關係。這種技術通常用於 分析,時間序列模型以及發現變數之間的因果關係。其次,回歸分析的好處比較多,主要有以下幾點 1 它表明自變數和因變數之間的顯著關係 2 它表明多個自變數對乙...