numpy基礎 part15 線性模型

2021-10-04 14:07:34 字數 1867 閱讀 8538

學習筆記,這個筆記以例子為主。

開發工具:spyder

若有一組觀測值:

[x11, x12, y1], [x21, x22, y2], [x31, x32, y3], 

...[xn1, xn2, yn]

則總體回歸模型為:

列成矩陣形式:

在給出總體中的一組樣本,則估計的樣本回歸函式為:

b = np.linalg.lstsq(x, y)

b1 = b[0]

[0]b2 = b[0]

[1]b0 = b[0][2]

若有k個自變數,則相關函式的寫法以此類推。

舉個例子(對模擬的資料進行多元回歸分析)

**:

import numpy as np

x = np.array(

[range(1

,11),

np.random.randint(1,

20,10)

, np.ones(10)

]).ty =

2*x[:,

0]- x[:,

1]+5

*x[:,2

]+ \

np.array(np.random.normal(0,

1,10)

) b = np.linalg.lstsq(x, y)

print

(b)b1 = b[0]

[0]b2 = b[0]

[1]b0 = b[0]

[2]print

('b1:'

, b1,

'b2:'

, b2,

'b0:'

, b0)

結果:

(array([ 1.91143292, -1.13716838,  6.97656854]), array([ 5.11734472]), 3, array([ 47.9682451 ,  11.92711516,   0.88959877]))

b1: 1.91143292471 b2: -1.13716837881 b0: 6.97656854129

則由該樣本估計的回歸方程為:

若有點集[[1, 2], [3, 4], [5, 6]]則帶入回歸方程中,求出**值:

import numpy as np

x = np.array(

[range(1

,11),

np.random.randint(1,

20,10)

, np.ones(10)

]).ty =

2*x[:,

0]- x[:,

1]+5

*x[:,2

]+ \

np.array(np.random.normal(0,

1,10)

) b = np.linalg.lstsq(x, y)

xpre = np.array([[

1,2,

1],[

3,4,

1],[

5,6,

1]])

ypre = xpre.dot(b[0]

)print

(ypre)

結果:

[ 4.00497056  6.18824332  8.37151608]

Part15 微型計算機基礎概論

1 計算機組成 由硬體系統 主機系統和外部裝置 與軟體系統組成。圖1 微型計算機系統組成 2 主機系統 主要由cpu 儲存器 輸入輸出介面 匯流排組成。3 軟體系統 主要由系統軟體和應用軟體組成。系統軟體主要包括 作業系統 編譯系統 網路系統 工具軟體。4 微型計算機的一般工作過程 5 馮 諾依曼計...

Python學習筆記 Part15 檔案的使用

變數名 open 檔名 開啟模式 變數名為檔案控制代碼 檔名為檔案路徑和名稱 開啟模式為文字或二進位制,讀或寫 檔案的路徑 用 或者 表示,若和原始檔同路徑可省略路徑 d pye f.txt pye f.txt d pye f.txt f.txt 檔案開啟模式 r 唯讀模式,預設值,如果檔案不存在,...

numpy基礎 part14 積分

學習筆記,這個筆記以例子為主。開發工具 spyder import scipy.integrate as si 利用quad求積分 給出函式f,積分下限與積分上限 a,b 返回 積分值,最大誤差 area si.quad f,a,b 返回值為乙個陣列,第乙個值為積分值,第二個為誤差 在 5,5 區間...