python進行回歸分析 2

2021-09-29 17:46:42 字數 3089 閱讀 7861

ixi

yi154

2563

108420

1353016640

1775019860

2596525

1090

2911

12046

這裡面涉及到求回歸係數,擬合值,擬合直線,f檢驗統計量的計算。

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

data = pd.read_csv('c:/users/admin/desktop/2019.10.05/回歸分析/data.csv') # 讀取資料

data=data.drop('i', axis=1) #去掉序號那一列

#樣本相關係數,可用於回歸檢驗

r=data.corr()

describe=data.describe() #描述性統計

mean=describe.loc['mean'] #列均值

m=data.index.size #資料行數

# xx=0

# yy=0

# xy=0

# for i in range(0,m):

# xx=xx+data.iloc[i,0]**2

# yy=yy+data.iloc[i,1]**2

# xy=xy+data.iloc[i,0]*data.iloc[i,1]

## lxx=xx-m*(mean[0]**2)

# lyy=yy-m*(mean[1]**2)

# lxy=xy-m*mean[0]*mean[1]

lxx=sum(x**2 for x in data['xi'])-m*(mean[0]**2)

lyy=sum(x**2 for x in data['yi'])-m*(mean[1]**2)

# 舉例:

# func = lambda x,y:x*y

# result=map(func,[1,2,3,4],[4,3,2,1])

# list_result = list(result)

# print(list_result)

func = lambda x,y:x*y

result=map(func,data['xi'],data['yi'])

list_result = list(result)

lxy=sum(list_result)-m*mean[0]*mean[1]

# print(lxx)

# print(lxy)

# print(lyy)

b1=lxy/lxx

b0=mean[1]-b1*mean[0]

print("常數項回歸係數:\n%f\n一次項回歸係數:\n%f"%(b0,b1))

#小數字數的控制,("%.4f" % b0)是str型別,所以轉為浮點數

# b0=float(("%.4f" % b0))

# b1=float("%.4f" % b1)

data['擬合值']=[b0+b1*x for x in data['xi']] #新增一列:擬合值

print("\n擬合值:")

print(data) #在原有資料上加有擬合值一列

st=lyy #總離差平方和:st

sr=sum((x-mean[1])**2 for x in data['擬合值']) #殘差平方和:sr

se=lyy-b1*lxy #回歸平方和:se

print("\nf統計量的值:")

print((sr/1)/(se/(m-2))) #f統計量

plt.scatter(data['xi'],data['yi'],alpha=0.5, color='blue') # 1.真實的點

plt.plot(data['xi'],data['擬合值'], alpha=0.5,color='red', linewidth=4) # 2.擬合的直線

plt.show()

其中describe=data.describe()的輸出為:

xiyi

count 

11.000000

11.000000

mean

45.000000

18.909091

std36.878178

12.103343

min5.000000

4.000000

25%15.000000

10.500000

50%40.000000

17.000000

75%62.500000

25.000000

max120.000000

46.000000

輸出結果:常數項回歸係數:4.366811,一次項回歸係數:0.323162,f統計量的值:286.52242428783325

spss回歸分析結果:

模型摘要                

模型    r       r 方    調整後 r 方    標準估算的誤差

1    .985a     .970          .966                   2.226

a **變數:(常量), xi                

anovaa                        

模型           平方和     自由度      均方             f    顯著性

1    回歸    1420.296     1       1420.296     286.522    .000b

殘差    44.613         9           4.957        

總計    1464.909    10            

a 因變數:yi                        

b **變數:(常量), xi             

python 回歸 顯著 強勢回歸,再說回歸分析

高爾頓發現了 向平均回歸 乙個總體中在某一時期具有某一極端特徵的個體在未來的某一時期將減弱它的極端性,比如非常矮小的父輩傾向於有偏高的子代,而非常高大的父輩則傾向於有偏矮的子代。這些都是 回歸效應 函式關係是一一對應的確定關係,因變數y隨自變數x的變化而變化,比如銷售額和銷量之間的關係,就是線性函式...

Python 邏輯回歸分析

以某銀行貸款拖欠率資料進行邏輯回歸建模,資料示例如下 特徵篩選 本例採用穩定性選擇方法中的隨機邏輯回歸 建立模型 利用篩選後的特徵建立邏輯回歸模型 輸出平均正確率 coding utf 8 邏輯回歸 自動建模 import pandas as pd 引數初始化 filename data bankl...

機器學習(2) 回歸演算法 回歸分析

在統計學中,回歸分析 regression analysis 指的是確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法。回歸分析按照涉及的變數的多少,分為一元回歸和多元回歸分析 按照因變數的多少,可分為 簡單回歸 分析和多重回歸分析 按照 自變數和 因變數之間的關係型別,可分為 線性回歸 ...