一、Python多元線性回歸分析案例
多元線性回歸是一種用於預測因變數的線性模型,其因變數與多個自變數相關。下面我們通過一個案例來演示Python多元線性回歸的應用。
import pandas as pd
import statsmodels.api as sm
# 導入數據集,DataFrame結構
data = pd.read_csv('data.csv')
X = data[['x1','x2','x3']]
Y = data['y']
# 模型訓練
X = sm.add_constant(X) #常數項
model = sm.OLS(Y,X).fit()
predictions = model.predict(X)
# 輸出結果
print_model = model.summary()
print(print_model)
在上面的例子中,我們導入了pandas和statsmodels兩個Python的庫,使用了OLS方法進行多元線性回歸的模型訓練。接下來使用summary()方法輸出模型的詳細信息和結果。
二、Python多元線性回歸分析論文
論文是一個可以展示研究成果的重要途徑,下面我們結合一篇研究論文來看看Python多元線性回歸的應用。
首先,我們需要導入必要的Python庫,並讀取數據集。這一步使用pandas庫經常進行。
import pandas as pd
import numpy as np
import statsmodels.api as sm
from statsmodels.formula.api import ols
# 導入數據集,DataFrame結構
data = pd.read_csv('data.csv')
#可視化數據矩陣
data.head()
接下來,我們使用公式API提供的ols()函數來擬合數據,並存儲數據在res對象中。
res = ols(formula='y ~ x1 + x2 + x3', data=data).fit()
# 輸出回歸結果
res.summary()
在這個例子中,我們採用的數據集是三個因變數和三個自變數。OLS公式y~ x1 + x2 + x3可以指定自變數:x1,x2和x3。最後res.summary()將輸出從OLS回歸獲得的大量信息。
三、Python多元線性回歸散點圖
Python中可使用Matplotlib庫來繪製散點圖,下面是一個示例,展示了其如何與多元線性回歸一起使用。
# 模擬數據
import numpy as np
import matplotlib.pyplot as plt
x = np.array([[0, 1, 2], [0, 2, 4], [0, 3, 6], [0, 4, 8]])
y = np.array([0, 2, 4, 6])
#多元線性回歸模型
from sklearn.linear_model import LinearRegression
model = LinearRegression().fit(x, y)
print('Score:', model.score(x, y))
print('Coefficients:', model.coef_)
print('Intercept:', model.intercept_)
# 散點圖可視化
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x[:, 1], x[:, 2], y, c='r', marker='o')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
# 最佳擬合平面
xx, yy = np.meshgrid(x[:, 1], x[:, 2])
zz = model.intercept_ + model.coef_[0] * 0 \
+ model.coef_[1] * xx \
+ model.coef_[2] * yy
ax.plot_surface(xx, yy, zz, color='b')
plt.show()
在上面的代碼中,我們使用Linearregression模塊,對模擬數據進行了多元線性回歸分析,並使用scatter()函數繪製了三位散點圖,最後將最佳擬合平面繪製出來。 通過這個例子,您可以理解散點圖的概念以及它與多元線性回歸如何集成在一起。
四、Python多元線性回歸模型調用方法
上面的例子都是使用的statsmodels庫提供的OLS()函數,並且直接擬合得到多元線性模型。但是,有些情況下,需要使用sklearn庫中的LinearRegression()函數進行模型擬合。下面是一個示例代碼。
# 導入庫
from sklearn.linear_model import LinearRegression
import numpy as np
# 模擬數據
x = np.array([[0,1],[1,3],[2,5],[3,7]])
y = np.array([2,3,4,6])
# 線性模型擬合
reg = LinearRegression().fit(x, y)
#輸出係數和截距
reg.coef_
reg.intercept_
在上面的代碼中,我們使用sklearn庫中的LinearRegression()函數,擬合了一組多元線性回歸模型,並輸出係數和截距。通過這個例子,您可以清楚地了解如何使用scikit-learn庫訓練線性回歸模型。
五、Python多元線性回歸顯示
在線性回歸模型擬合的過程中,我們經常需要可視化各種結果。使用多種Python庫,如Matplotlib、Seaborn甚至是Pandas,可以輕鬆地對可視化結果進行操作。下面我們給出一組示例代碼,展示了如何使用Matplotlib可視化多元線性回歸模型結果。
# 導入庫
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import statsmodels.formula.api as smf
# 讀取數據集
data = pd.read_csv("data.csv")
# 模型擬合
lm = smf.ols(formula='y ~ x1 + x2 + x3', data=data).fit()
# 預測
X_new = pd.DataFrame({'x1': [10, 20], 'x2': [20, 25], 'x3': [8, 12]})
X_new.head()
lm.predict(X_new)
# 生成散點圖
fig=plt.figure(figsize=(12,8))
# 擬合結果展示
plt.subplot(2, 2, 1)
plt.scatter(data.x1, data.y)
plt.title("x1 ~ y")
plt.xlim(0, 21)
plt.ylim(-5, 43)
X_plot = np.linspace(0, 20, 100)
plt.plot(X_plot, lm.params[0] + lm.params[1] * X_plot + lm.params[2] * 5 +
lm.params[3] * 5, '-', color='r')
# 其他展示
plt.tight_layout()
在上面的代碼中,我們使用matplotlib庫中的subplot()函數,展示了多元線性回歸的結果,包括散點圖和擬合曲線、模型係數等。在實際應用中,我們還可以使用其他庫實現高級的可視化效果。
六、Python多元線性回歸公式
在統計學和機器學習領域,多元線性回歸模型的公式常被用來描述預測目標變數的關係。下面是多元線性回歸模型的公式:
Y = b0 + b1X1 + b2X2 + … + bNXN + e
在這個方程中,Y表示目標變數,X1,X2,…,Xn表示自變數,b0,b1,b2,…,bn表示用於計算Y的係數或回歸係數,而e表示隨機誤差。
七、Python多元線性回歸預測法
在進行多元線性回歸時,我們通常需要用已有數據構建模型,然後將模型應用於新的、未見過的數據進行預測。下面我們提供一個與前面不同的模型訓練和預測的Python多元線性回歸示例。
# 導入庫
import numpy as np
from sklearn.linear_model import LinearRegression
# 構建數據
x_train = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]])
y_train = np.array([3,7,11,16])
x_test = np.array([[2,3,4],
[5,6,7]])
# 基於多元線性回歸建模
model = LinearRegression()
model.fit(x_train, y_train)
# 輸出預測結果
predictions = model.predict(x_test)
print(predictions)
在上面的示例中,我們建立了一個小型數據集,並使用LinearrRegression模型估計輸入特徵與目標。這裡的x_train和y_train分別是訓練樣本的輸入和目標輸出,x_test是測試樣本的輸入,predictions是相應的預測輸出。
八、Python線性回歸做預測
線性回歸是一種簡單的、廣泛使用的機器學習方法。我們可以使用Python的sklearn庫的線性回歸演算法來做預測。下面是一個基於Python的簡單線性回歸模型的示例代碼。
# 導入庫
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# 輸入數據
x = np.array([5, 15, 25, 35, 45, 55]).reshape((-1, 1))
y = np.array([5, 20, 14, 32, 22, 38])
# 模型訓練
model = LinearRegression()
model.fit(x, y)
# 進行預測
x_predict = np.array([3 ,6, 28, 45, 70]).reshape((-1, 1))
predictions = model.predict(x_predict)
print(predictions)
# 繪製結果
plt.scatter(x, y, color='black')
plt.plot(x_predict, predictions, color='blue', linewidth=3)
plt.show()
在上面的例子中,我們使用LinearRegression()類建立一個簡單的線性回歸模型,並在預測之前對模型進行訓練。最後,我們使用plot()函數繪製了預測結果。這個簡單的示例演示了如何使用Python的sklearn庫進行簡單的線性回歸預測。
九、Python多特徵線性回歸
多特徵線性回歸是指使用多個自變數參數來預測目標變數的線性回歸模型。下面我們提供一個有多個特徵的多元線性回歸的Python實現示例。
# 導入庫
import numpy as np
from sklearn.linear_model import LinearRegression
# 輸入數據
x_train = np.array([[90, 80, 70],
[80, 60, 70],
[70, 50, 35],
[60, 30, 40]])
y_train = np.array([95, 63, 45, 35])
x_test = np.array([[100, 50, 40]])
# 模型訓練
regressor = LinearRegression()
regressor.fit(x_train, y_train)
# 預測結果
predictions = regressor.predict(x_test)
print(predictions)
在上面的代碼中,我們使用一個包含三個自變數x1, x2和x3的多元線性模型訓練,並使用predict()函數進行模型輸出。
結論
本文主要介紹了Python中多元線性回歸的相關概念、使用方法以及相關
原創文章,作者:PWXCX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/315901.html