Tôi nhận ra chủ đề này đã xuất hiện một số lần trước đây , ví dụ như ở đây , nhưng tôi vẫn không chắc chắn cách tốt nhất để diễn giải đầu ra hồi quy của mình.
Tôi có một bộ dữ liệu rất đơn giản, bao gồm một cột gồm các giá trị x và một cột của các giá trị y , được chia thành hai nhóm theo vị trí (loc). Các điểm trông như thế này
Một đồng nghiệp đã đưa ra giả thuyết rằng chúng ta nên điều chỉnh các hồi quy tuyến tính đơn giản riêng biệt cho từng nhóm mà tôi đã thực hiện bằng cách sử dụng y ~ x * C(loc)
. Đầu ra được hiển thị dưới đây.
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.873
Model: OLS Adj. R-squared: 0.866
Method: Least Squares F-statistic: 139.2
Date: Mon, 13 Jun 2016 Prob (F-statistic): 3.05e-27
Time: 14:18:50 Log-Likelihood: -27.981
No. Observations: 65 AIC: 63.96
Df Residuals: 61 BIC: 72.66
Df Model: 3
Covariance Type: nonrobust
=================================================================================
coef std err t P>|t| [95.0% Conf. Int.]
---------------------------------------------------------------------------------
Intercept 3.8000 1.784 2.129 0.037 0.232 7.368
C(loc)[T.N] -0.4921 1.948 -0.253 0.801 -4.388 3.404
x -0.6466 0.230 -2.807 0.007 -1.107 -0.186
x:C(loc)[T.N] 0.2719 0.257 1.057 0.295 -0.242 0.786
==============================================================================
Omnibus: 22.788 Durbin-Watson: 2.552
Prob(Omnibus): 0.000 Jarque-Bera (JB): 121.307
Skew: 0.629 Prob(JB): 4.56e-27
Kurtosis: 9.573 Cond. No. 467.
==============================================================================
Nhìn vào các giá trị p cho các hệ số, biến giả cho vị trí và thuật ngữ tương tác không khác biệt đáng kể so với không, trong trường hợp đó mô hình hồi quy của tôi về cơ bản giảm xuống chỉ còn đường màu đỏ trên biểu đồ trên. Đối với tôi, điều này cho thấy rằng việc khớp các dòng riêng biệt cho hai nhóm có thể là một sai lầm và một mô hình tốt hơn có thể là một dòng hồi quy duy nhất cho toàn bộ tập dữ liệu, như được hiển thị bên dưới.
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.593
Model: OLS Adj. R-squared: 0.587
Method: Least Squares F-statistic: 91.93
Date: Mon, 13 Jun 2016 Prob (F-statistic): 6.29e-14
Time: 14:24:50 Log-Likelihood: -65.687
No. Observations: 65 AIC: 135.4
Df Residuals: 63 BIC: 139.7
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [95.0% Conf. Int.]
------------------------------------------------------------------------------
Intercept 8.9278 0.935 9.550 0.000 7.060 10.796
x -1.2446 0.130 -9.588 0.000 -1.504 -0.985
==============================================================================
Omnibus: 0.112 Durbin-Watson: 1.151
Prob(Omnibus): 0.945 Jarque-Bera (JB): 0.006
Skew: 0.018 Prob(JB): 0.997
Kurtosis: 2.972 Cond. No. 81.9
==============================================================================
Điều này có vẻ ổn với tôi một cách trực quan và các giá trị p cho tất cả các hệ số hiện có ý nghĩa. Tuy nhiên, AIC cho mô hình thứ hai là nhiều hơn so với người đầu tiên.
Tôi nhận ra rằng lựa chọn mô hình không chỉ là giá trị p hay chỉ là AIC, nhưng tôi không chắc phải làm gì với điều này. Bất cứ ai cũng có thể cung cấp bất kỳ lời khuyên thực tế nào về việc diễn giải đầu ra này và chọn một mô hình phù hợp, xin vui lòng ?
Trước mắt tôi, đường hồi quy đơn có vẻ ổn (mặc dù tôi nhận ra không có cái nào trong số chúng đặc biệt tốt), nhưng có vẻ như có ít nhất một sự biện minh cho việc lắp các mô hình riêng biệt (?).
Cảm ơn!
Chỉnh sửa để phản hồi ý kiến
@Cagdas Ozgenc
Mô hình hai dòng được trang bị bằng cách sử dụng số liệu thống kê của Python và đoạn mã sau
reg = sm.ols(formula='y ~ x * C(loc)', data=df).fit()
Theo tôi hiểu, đây thực chất chỉ là viết tắt cho một mô hình như thế này
đó là dòng màu xanh trên cốt truyện ở trên. AIC cho mô hình này được báo cáo tự động trong bản tóm tắt thống kê. Đối với mô hình một dòng tôi chỉ đơn giản sử dụng
reg = ols(formula='y ~ x', data=df).fit()
Tôi nghĩ rằng điều này là OK?
@ người dùng2864849
Chỉnh sửa 2
Để cho đầy đủ, đây là các lô còn lại theo đề xuất của @whuber. Mô hình hai dòng thực sự trông tốt hơn nhiều từ quan điểm này.
Mô hình hai dòng
Mô hình một dòng
Cảm ơn tất cả!