Tại sao hồi quy logistic trong Spark và R trả về các mô hình khác nhau cho cùng một dữ liệu?


7

Tôi đã so sánh các mô hình hồi quy logistic trên R ( glm) và trên Spark ( LogisticRegressionWithLBFGS) trên bộ dữ liệu của 390 obs. trong số 14 biến.

Các kết quả hoàn toàn khác nhau trong đánh chặn và trọng lượng. Làm thế nào để giải thích điều này?

Đây là kết quả của Spark (LogisticRegressionWithLBFGS):

model.intercept  : 
 1.119830027739959
model.weights :
 GEST    0.30798496002530473
 DILATE  0.28121771009716895
 EFFACE  0.01780105068588628
 CONSIS -0.22782058111362183
 CONTR  -0.8094592237248102
 MEMBRAN-1.788173534959893
 AGE    -0.05285751197750732
 STRAT  -1.6650305527536942
 GRAVID  0.38324952943210994
 PARIT  -0.9463956993328745
 DIAB   0.18151162744507293
 TRANSF -0.7413500749909346
 GEMEL  1.5953124037323745

Đây là kết quả của R:

             Estimate Std. Error z value Pr(>|z|)   
(Intercept)  3.0682091  3.3944407   0.904 0.366052    
GEST         0.0086545  0.1494487   0.058 0.953821    
DILATE       0.4898586  0.2049361   2.390 0.016835 *  
EFFACE       0.0131834  0.0059331   2.222 0.026283 *  
CONSIS       0.1598426  0.2332670   0.685 0.493196    
CONTR        0.0008504  0.5788959   0.001 0.998828    
MEMBRAN     -1.5497870  0.4215416  -3.676 0.000236 ***   
AGE         -0.0420145  0.0326184  -1.288 0.197725    
STRAT       -0.3781365  0.5860476  -0.645 0.518777    
GRAVID       0.1866430  0.1522925   1.226 0.220366    
PARIT       -0.6493312  0.2357530  -2.754 0.005882 **  
DIAB         0.0335458  0.2163165   0.155 0.876760    
TRANSF      -0.6239330  0.3396592  -1.837 0.066219 .  
GEMEL        2.2767331  1.0995245   2.071 0.038391 *  
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

1
Tôi sẽ không gọi BFGS bộ nhớ giới hạn là "hồi quy logistic đơn giản". Ngoại trừ, tôi đoán, theo nghĩa là các thư viện hiện đại làm cho các kỹ thuật phức tạp rất dễ tiếp cận :)
nealmcb

Bạn đúng rồi. Bạn có biết cách triển khai BFGS bộ nhớ giới hạn với R không?
SparkUser

Ngoài ra, hãy nghi ngờ nếu nó có liên quan đến chức năng mất csie.ntu.edu.tw/~cjlin/ con / spark-llinlinear / , so sánh các hệ số với R - glm mặc định.
dùng45409

Câu trả lời:


6

Nhìn lướt qua các tài liệu cho LogisticRegressionWithLBFGS chỉ ra rằng nó sử dụng tính năng chia tỷ lệ và L2-Chính quy theo mặc định. Tôi nghi ngờ rằng R glmđang trả lại ước tính khả năng tối đa của mô hình trong khi Spark LogisticRegressionWithLBFGSđang trả lại ước tính mô hình chính quy. Lưu ý rằng trọng lượng mô hình ước tính của mô hình Spark đều có độ lớn nhỏ hơn so với trọng lượng trong mô hình R.

Tôi không chắc liệu glmR có thực hiện mở rộng tính năng hay không , nhưng điều này cũng sẽ đóng góp cho các giá trị mô hình khác nhau.


Tôi không chắc có thể sử dụng tính năng chia tỷ lệ trong R .. Tôi không thể tìm thấy nó .. Bạn có biết cách thực hiện hồi quy logistic với LBFGS bằng R để so sánh 2 mô hình không?
SparkUser

Tại đây, hãy kiểm tra tài liệu về chức năng glmnettừ glmnetgói và giao diện và tham số standardize http://cran.r-project.org/web/packages/glmnet/glmnet.pdf - cũng có việc sử dụng possibleto thường xuyên
Marcin Kosiński
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.