Một đối tượng dạng mảng gồm các giá trị booleans, số nguyên hoặc chỉ mục cho biết tập hợp con của df sẽ sử dụng trong mô hình. Giả sử df là một con gấu trúc. Khung dữ liệu
drop_colsCác cột để loại bỏ khỏi ma trận thiết kế. Không thể được sử dụng để loại bỏ các điều khoản liên quan đến phân loại
* lập luậnCác đối số vị trí bổ sung được chuyển đến mô hình
**kwargsChúng được chuyển đến mô hình với một ngoại lệ. Từ khóa eval_env
được chuyển đến patsy. Nó có thể là một đối tượng patsy:patsy.EvalEnvironment
hoặc một số nguyên cho biết độ sâu của không gian tên sẽ sử dụng. Ví dụ, mặc định eval_env=0
sử dụng không gian tên gọi. Nếu bạn muốn sử dụng bộ môi trường “sạch” eval_env=-1
model
Ví dụ mô hình
ghi chú
dữ liệu phải xác định __getitem__ với các khóa trong công thức thuật ngữ args và kwargs được chuyển sang phần khởi tạo mô hình. e. g. , một mảng rec hoặc có cấu trúc gọn gàng, một từ điển hoặc một DataFrame của gấu trúc
Bạn có thấy bài viết hữu ích không? . Vui lòng chia sẻ phản hồi có giá trị của bạn và giúp tôi đối xử với bạn bằng nội dung tốt hơn trong tương lai Mô-đun statsmodels trong Python cung cấp nhiều hàm và lớp cho phép bạn điều chỉnh các mô hình thống kê khác nhauVí dụ từng bước sau đây cho thấy cách thực hiện hồi quy logistic bằng cách sử dụng các hàm từ mô hình trạng thái
Bước 1. Tạo dữ liệu
Trước tiên, hãy tạo một DataFrame gấu trúc chứa ba biến
- Số giờ đã học [Giá trị số nguyên]
- Phương pháp nghiên cứu [Phương pháp A hoặc B]
- Kết quả thi [Đạt hoặc Không đạt]
Chúng tôi sẽ điều chỉnh mô hình hồi quy logistic bằng cách sử dụng số giờ nghiên cứu và phương pháp nghiên cứu để dự đoán liệu một học sinh có vượt qua kỳ thi nhất định hay không
Đoạn mã sau cho biết cách tạo DataFrame của gấu trúc
import pandas as pd #create DataFrame df = pd.DataFrame[{'result': [0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1], 'hours': [1, 2, 2, 2, 3, 2, 5, 4, 3, 6, 5, 8, 8, 7, 6, 7, 5, 4, 8, 9], 'method': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'A', 'B', 'A', 'B', 'B', 'A', 'A', 'B', 'A', 'B', 'A']}] #view first five rows of DataFrame df.head[] result hours method 0 0 1 A 1 1 2 A 2 0 2 A 3 0 2 B 4 0 3 B
Bước 2. Phù hợp với mô hình hồi quy logistic
Tiếp theo, chúng ta sẽ điều chỉnh mô hình hồi quy logistic bằng cách sử dụng hàm logit[]
import statsmodels.formula.api as smf
#fit logistic regression model
model = smf.logit['result ~ hours + method', data=df].fit[]
#view model summary
print[model.summary[]]
Optimization terminated successfully.
Current function value: 0.557786
Iterations 5
Logit Regression Results
==============================================================================
Dep. Variable: result No. Observations: 20
Model: Logit Df Residuals: 17
Method: MLE Df Model: 2
Date: Mon, 22 Aug 2022 Pseudo R-squ.: 0.1894
Time: 09:53:35 Log-Likelihood: -11.156
converged: True LL-Null: -13.763
Covariance Type: nonrobust LLR p-value: 0.07375
===============================================================================
coef std err z P>|z| [0.025 0.975]
-------------------------------------------------------------------------------
Intercept -2.1569 1.416 -1.523 0.128 -4.932 0.618
method[T.B] 0.0875 1.051 0.083 0.934 -1.973 2.148
hours 0.4909 0.245 2.002 0.045 0.010 0.972
===============================================================================
Các giá trị trong cột coef của đầu ra cho chúng ta biết mức thay đổi trung bình trong nhật ký tỷ lệ vượt qua kỳ thi
Ví dụ
- Sử dụng phương pháp nghiên cứu B có liên quan đến mức tăng trung bình của. 0875 trong log tỷ lệ đỗ kỳ thi so với học theo phương pháp A
- Mỗi giờ nghiên cứu bổ sung có liên quan đến mức tăng trung bình của. 4909 trong nhật ký tỷ lệ đậu kỳ thi
Các giá trị trong P>. z. cột đại diện cho giá trị p cho mỗi hệ số
Ví dụ
- Phương pháp nghiên cứu có giá trị p là. 934. Vì giá trị này không nhỏ hơn. 05, điều đó có nghĩa là không có mối quan hệ có ý nghĩa thống kê giữa số giờ học và việc học sinh có vượt qua kỳ thi hay không
- Số giờ được nghiên cứu có giá trị p là. 045. Vì giá trị này nhỏ hơn. 05, có nghĩa là có một mối quan hệ có ý nghĩa thống kê giữa số giờ học và việc học sinh có vượt qua kỳ thi hay không
Bước 3. Đánh giá hiệu suất mô hình
Để đánh giá chất lượng của mô hình hồi quy logistic, chúng ta có thể xem xét hai số liệu ở đầu ra
1. Giả R bình phương
Giá trị này có thể được coi là giá trị thay thế cho giá trị bình phương R cho mô hình hồi quy tuyến tính
Nó được tính bằng tỷ lệ của hàm khả năng đăng nhập tối đa của mô hình null so với mô hình đầy đủ
Giá trị này có thể nằm trong khoảng từ 0 đến 1, với các giá trị cao hơn cho thấy mô hình phù hợp hơn
Trong ví dụ này, giá trị bình phương R giả là. 1894, khá thấp. Điều này cho chúng ta biết rằng các biến dự đoán trong mô hình không thực hiện tốt công việc dự đoán giá trị của biến phản hồi
2. giá trị p LLR
Giá trị này có thể được coi là giá trị thay thế cho giá trị p cho giá trị F tổng thể của mô hình hồi quy tuyến tính
Nếu giá trị này thấp hơn một ngưỡng nhất định [e. g. a =. 05] thì chúng ta có thể kết luận rằng mô hình về tổng thể là "hữu ích" và tốt hơn trong việc dự đoán các giá trị của biến phản hồi so với mô hình không có biến dự báo
Trong ví dụ này, giá trị p LLR là. 07375. Tuỳ theo mức ý nghĩa mà ta chọn [e. g. . 01,. 05,. 1] chúng ta có thể hoặc không thể kết luận rằng toàn bộ mô hình là hữu ích