Các mô hình hồi quy được sử dụng rộng rãi như một kỹ thuật thống kê để dự đoán kết quả dựa trên dữ liệu quan sát được
Hồi quy tuyến tính cho phép mô tả mức độ thay đổi của biến phụ thuộc [kết quả] so với [các] biến độc lập [đặc trưng, yếu tố dự báo]
Khi có một biến độc lập và một biến phụ thuộc, nó được gọi là hồi quy tuyến tính đơn giản [SLR]
Khi có nhiều hơn một biến độc lập và một biến phụ thuộc, nó được gọi là hồi quy tuyến tính bội [MLR]
Một phương trình hồi quy tuyến tính đơn giản trông giống như
y = a + bx
ở đâu
x — biến độc lập [giải thích],
y — biến phụ thuộc [phản hồi],
một - đánh chặn,
b - độ dốc của đường [hệ số]
Và nhiều công thức hồi quy tuyến tính có thể trông giống như
y = a + b1*x1 + b2*x2 + b3*x3 + + + bn*xn
Biến phụ thuộc về bản chất là liên tục và biến độc lập có thể liên tục hoặc phân loại
Trước khi xây dựng mô hình, chúng tôi cần đảm bảo rằng dữ liệu của chúng tôi đáp ứng nhiều giả định hồi quy
Độ tuyến tính — đường thẳng [thẳng] phù hợp nhất đi qua các điểm dữ liệu;
Tính quy tắc — dữ liệu tuân theo phân phối bình thường [hình chuông];
Phương sai đồng nhất - khi thuật ngữ lỗi liên quan đến yếu tố dự đoán và kết quả giống nhau trên tất cả các giá trị của tính năng
Đối với mô hình của chúng tôi, chúng tôi sẽ sử dụng hồi quy Bình phương nhỏ nhất thông thường [OLS]. Ngoài ra còn có WLS [Bình phương nhỏ nhất có trọng số], GLS [Bình phương nhỏ nhất tổng quát], v.v.
Chúng tôi sẽ sử dụng bộ dữ liệu giá bán nhà ở quận King đã sửa đổi
Sử dụng sổ ghi chép python và Jupyter, hãy nhập các thư viện cần thiết
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import statsmodels.api as sm
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
Tải dữ liệu [trong trường hợp của tôi từ cùng một trang với hiện tại. tập tin ipynb]
df = pd.read_csv["kc_house_data.csv"]
Và khám phá dữ liệu ban đầu
display[df.head[]]
display[df.info[]]
Trực quan hóa dữ liệu
Bằng cách sử dụng các gói matplotlib và seaborn, chúng tôi trực quan hóa dữ liệu. sns. Hàm regplot[] giúp chúng ta tạo biểu đồ hồi quy
Python3
# import packages
pip install numpy pip install pandas pip install statsmodels0
pip install numpy pip install pandas pip install statsmodels1
pip install numpy pip install pandas pip install statsmodels0
pip install numpy pip install pandas pip install statsmodels3
pip install numpy pip install pandas pip install statsmodels0
pip install numpy pip install pandas pip install statsmodels5
df
=
pd.read_csv[
'headbrain1.csv'
]
import numpy as np import pandas as pd import statsmodels.api as sm1_______7_______2
import numpy as np import pandas as pd import statsmodels.api as sm3_______7_______4_______7_______5
=
7_______7
import numpy as np import pandas as pd import statsmodels.api as sm8
đầu ra
Bước 3. Đặt giả thuyết
- Giả thuyết không [H0]. Không có mối quan hệ giữa kích thước đầu và trọng lượng não
- Giả thuyết thay thế [Ha]. Có mối quan hệ giữa kích thước đầu và trọng lượng não
Bước 4. lắp mô hình
mô hình thống kê. hồi quy. linear_model. Phương thức OLS[] được sử dụng để lấy bình phương nhỏ nhất thông thường và phương thức fit[] được sử dụng để điều chỉnh dữ liệu trong đó. Phương thức ols lấy dữ liệu và thực hiện hồi quy tuyến tính. chúng tôi cung cấp các cột phụ thuộc và độc lập ở định dạng này
cột_phụ thuộc ~ cột_phụ thuộc.
bên trái của toán tử ~ chứa các biến độc lập và bên phải của toán tử chứa tên của biến phụ thuộc hoặc cột dự đoán
Python3
import numpy as np import pandas as pd import statsmodels.api as sm9
=
df
1df
2_______7_______3df
4df
5df
6_______32_______ df
8=
=
0
import numpy as np import pandas as pd import statsmodels.api as sm5
=
32_______3Bước 5. Tóm tắt mô hình
Tất cả các thống kê tóm tắt của mô hình hồi quy tuyến tính được trả về bởi mô hình. phương pháp tóm tắt []. Giá trị p và nhiều giá trị/thống kê khác được biết bằng phương pháp này. Dự đoán về dữ liệu được tìm thấy bởi mô hình. phương pháp tóm tắt []
Python3
=
4=
5
Triển khai mã
Python3
# import packages
pip install numpy pip install pandas pip install statsmodels0
=
8pip install numpy pip install pandas pip install statsmodels0
pip install numpy pip install pandas pip install statsmodels1
pip install numpy pip install pandas pip install statsmodels0
pd.read_csv[
2
pd.read_csv[
3
df
=
pd.read_csv[
'headbrain1.csv'
]
=
4'headbrain1.csv'
0
'headbrain1.csv'
1
import numpy as np import pandas as pd import statsmodels.api as sm9
=
df
1df
2_______7_______3df
4df
5df
6_______32_______ df
8=
=
0
import numpy as np import pandas as pd import statsmodels.api as sm5
=
32_______3
]
7
=
4=
5
đầu ra
Mô tả một số thuật ngữ trong bảng
- R- bình phương giá trị. Giá trị bình phương R nằm trong khoảng từ 0 đến 1. R-squared là 100 phần trăm chỉ ra rằng tất cả những thay đổi trong biến phụ thuộc hoàn toàn được giải thích bởi những thay đổi trong [các] biến độc lập. nếu chúng tôi nhận được 1 dưới dạng giá trị r bình phương, điều đó có nghĩa là có một sự phù hợp hoàn hảo. Trong ví dụ của chúng ta, giá trị r-squared là 0. 638.
- F- thống kê. Thống kê F chỉ đơn giản là so sánh tác động kết hợp của tất cả các biến. Nói một cách đơn giản nhất, hãy bác bỏ giả thuyết không nếu mức alpha của bạn lớn hơn giá trị p của bạn.
- coef. các hệ số của các biến độc lập trong phương trình hồi quy
dự đoán của chúng tôi
Nếu chúng ta lấy mức ý nghĩa [alpha] là 0. 05, chúng tôi bác bỏ giả thuyết khống và chấp nhận giả thuyết thay thế là p