Partially Linear Regression Model (PLR)
Here, PLR is the most suitable one for causal analysis.
Log (actually it is log(1+x))
log_total_cost_amt_result = run_dml_plr_models(df_with_dummies, Y = "log_total_cost_amt", D = "is_pk_live", Xs = features_base, crs=crs)
## INFO [09:25:08.908] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:25:09.804] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:25:10.028] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:25:10.167] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:25:10.413] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:25:10.658] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:25:11.000] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:25:11.935] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:25:12.810] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:25:13.777] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:25:14.647] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:25:15.676] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:25:16.740] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:25:16.780] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:25:16.814] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:25:16.900] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:25:16.947] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:25:17.008] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:25:17.134] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:25:17.394] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:25:17.618] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:25:17.892] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:25:18.169] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:25:18.423] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: The `size` argument of `element_rect()` is deprecated as of ggplot2 3.4.0.
## ℹ Please use the `linewidth` argument instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
log_total_cost_amt_result = run_dml_plr_models(df_with_dummies, Y = "log_total_cost_amt", D = "is_pk_live", Xs = features_base, crs=crs)
## INFO [09:25:19.391] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:25:19.480] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:25:19.727] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:25:19.854] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:25:20.098] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:25:20.333] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:25:20.675] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:25:21.555] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:25:22.445] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:25:23.392] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:25:24.250] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:25:25.111] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:25:26.147] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:25:26.185] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:25:26.236] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:25:26.322] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:25:26.371] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:25:26.418] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:25:26.709] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:25:26.947] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:25:27.169] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:25:27.441] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:25:27.695] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:25:27.968] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
log_avg_valid_play_duration_result = run_dml_plr_models(df_with_dummies, Y = "log_avg_valid_play_duration", D = "is_pk_live", Xs = features_base, crs=crs)
## INFO [09:25:28.634] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:25:28.712] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:25:28.788] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:25:28.913] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:25:29.309] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:25:29.550] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:25:29.890] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:25:30.779] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:25:31.661] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:25:32.603] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:25:33.479] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:25:34.319] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:25:35.350] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:25:35.383] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:25:35.434] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:25:35.521] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:25:35.567] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:25:35.617] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:25:35.757] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:25:36.008] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:25:36.262] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:25:36.572] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:25:36.844] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:25:37.111] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
log_follow_author_cnt_result = run_dml_plr_models(df_with_dummies, Y = "log_follow_author_cnt", D = "is_pk_live", Xs = features_base, crs=crs)
## INFO [09:25:37.793] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:25:37.875] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:25:37.962] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:25:38.104] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:25:38.343] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:25:38.584] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:25:38.935] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:25:39.842] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:25:40.749] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:25:41.703] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:25:42.584] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:25:43.467] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:25:44.490] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:25:44.521] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:25:44.559] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:25:44.645] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:25:44.702] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:25:44.762] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:25:44.897] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:25:45.121] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:25:45.335] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:25:45.768] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:25:46.038] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:25:46.293] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
log_cancel_follow_author_cnt_result = run_dml_plr_models(df_with_dummies, Y = "log_cancel_follow_author_cnt", D = "is_pk_live", Xs = features_base, crs=crs)
## INFO [09:25:46.946] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:25:47.025] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:25:47.096] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:25:47.235] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:25:47.484] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:25:47.731] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:25:48.079] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:25:48.944] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:25:49.798] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:25:50.766] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:25:51.638] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:25:52.498] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:25:53.540] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:25:53.574] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:25:53.607] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:25:53.697] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:25:53.757] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:25:53.802] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:25:53.938] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:25:54.244] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:25:54.520] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:25:54.830] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:25:55.092] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:25:55.390] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
log_follow_user_cnt_result = run_dml_plr_models(df_with_dummies, Y = "log_follow_user_cnt", D = "is_pk_live", Xs = features_base, crs=crs)
## INFO [09:25:56.087] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:25:56.197] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:25:56.281] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:25:56.426] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:25:56.681] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:25:56.932] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:25:57.275] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:25:58.204] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:25:59.109] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:26:00.086] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:26:00.997] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:26:01.859] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:26:03.076] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:26:03.115] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:26:03.147] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:26:03.234] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:26:03.289] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:26:03.337] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:26:03.469] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:26:03.692] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:26:03.911] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:26:04.182] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:26:04.432] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:26:04.704] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
log_join_fans_group_cnt_result = run_dml_plr_models(df_with_dummies, Y = "log_join_fans_group_cnt", D = "is_pk_live", Xs = features_base, crs=crs)
## INFO [09:26:05.366] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:26:05.461] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:26:05.543] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:26:05.695] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:26:05.940] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:26:06.184] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:26:06.530] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:26:07.422] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:26:08.325] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:26:09.284] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:26:10.145] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:26:10.991] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:26:12.026] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:26:12.057] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:26:12.091] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:26:12.344] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:26:12.391] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:26:12.438] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:26:12.577] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:26:12.800] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:26:13.032] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:26:13.320] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:26:13.576] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:26:13.857] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
MS_list <- list()
for (var in category) {
new_var <- crs[[var]]
MS_list[[new_var]] <- get(paste0(var, "_result"))[['mod']]
ggsave(paste0("../2.Output/DML_PK_vs_NonPK_", var, ".pdf"), plot = get(paste0(var, "_result"))[['plot']], device = "pdf", width = 16, height = 9, units = "in")
ggsave(paste0("../2.Output/DML_PK_vs_NonPK_", var, ".png"), plot = get(paste0(var, "_result"))[['plot']], device = "png", width = 16, height = 9, dpi = 300, units = "in")
}
modelsummary(MS_list)
|
Total Gifting (log) |
Avg Play Duration Per Viewer (log) |
New Followers (log) |
Lost Followers (log) |
Viewer-to-Viewer Follows (log) |
New Fans (log) |
LASSO |
-0.013 |
0.003 |
-0.023 |
0.028 |
0.025 |
-0.018 |
|
(0.021) |
(0.013) |
(0.022) |
(0.021) |
(0.021) |
(0.021) |
Random Forest |
-0.011 |
0.004 |
-0.025 |
0.027 |
0.027 |
-0.017 |
|
(0.021) |
(0.013) |
(0.022) |
(0.021) |
(0.021) |
(0.021) |
Regression Tree |
-0.012 |
0.003 |
-0.022 |
0.027 |
0.025 |
-0.018 |
|
(0.021) |
(0.013) |
(0.022) |
(0.021) |
(0.021) |
(0.021) |
Boosted Trees |
-0.016 |
0.004 |
-0.028 |
0.028 |
0.021 |
-0.025 |
|
(0.022) |
(0.013) |
(0.022) |
(0.021) |
(0.021) |
(0.021) |
Obs |
10000 |
10000 |
10000 |
10000 |
10000 |
10000 |
save_model_summaries <- function(list, new_cate_name) {
modelsummary(list, stars = c('+' = .1, '*' = .05, '**' = .01, '***' = .001),
output = paste0("../2.Output/", new_cate_name, ".docx"))
title = paste0('The Impact of PK Event',
'\\label{tab:', new_cate_name, '}')
modelsummary(list, output = "latex", stars = c('+' = .1, '*' = .05, '**' = .01, '***' = .001),
title = title, escape = FALSE) |>
theme_tt("resize") |>
save_tt(paste0("../2.Output/", new_cate_name, ".tex"), overwrite = TRUE)
}
save_model_summaries(MS_list, "DML_PK_vs_NonPK_log")
Raw (Unscaled)
total_cost_amt_result = run_dml_plr_models(df_with_dummies, Y = "total_cost_amt", D = "is_pk_live", Xs = features_base)
## INFO [09:26:18.648] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:26:18.732] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:26:18.802] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:26:19.130] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:26:19.375] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:26:19.613] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:26:19.958] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:26:20.901] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:26:21.768] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:26:22.720] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:26:23.597] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:26:24.429] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:26:25.424] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:26:25.458] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:26:25.489] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:26:25.593] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:26:25.638] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:26:25.689] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:26:25.824] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:26:26.077] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:26:26.324] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:26:26.634] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:26:26.895] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:26:27.173] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
avg_valid_play_duration_result = run_dml_plr_models(df_with_dummies, Y = "avg_valid_play_duration", D = "is_pk_live", Xs = features_base)
## INFO [09:26:27.856] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:26:27.940] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:26:28.030] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:26:28.339] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:26:28.579] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:26:28.812] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:26:29.150] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:26:30.044] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:26:30.938] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:26:31.877] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:26:32.739] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:26:33.733] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:26:34.755] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:26:34.793] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:26:34.827] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:26:34.917] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:26:34.981] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:26:35.028] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:26:35.152] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:26:35.422] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:26:35.673] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:26:35.988] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:26:36.291] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:26:36.555] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
follow_author_cnt_result = run_dml_plr_models(df_with_dummies, Y = "follow_author_cnt", D = "is_pk_live", Xs = features_base)
## INFO [09:26:37.204] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:26:37.284] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:26:37.355] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:26:37.482] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:26:37.740] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:26:38.000] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:26:38.347] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:26:39.225] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:26:40.129] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:26:41.090] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:26:41.974] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:26:42.813] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:26:43.848] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:26:43.888] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:26:43.923] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:26:44.016] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:26:44.085] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:26:44.134] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:26:44.279] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:26:44.523] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:26:44.792] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:26:45.091] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:26:45.356] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:26:45.605] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
cancel_follow_author_cnt_result = run_dml_plr_models(df_with_dummies, Y = "cancel_follow_author_cnt", D = "is_pk_live", Xs = features_base)
## INFO [09:26:46.271] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:26:46.359] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:26:46.432] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:26:46.757] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:26:47.036] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:26:47.428] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:26:47.768] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:26:48.681] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:26:49.550] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:26:50.521] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:26:51.342] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:26:52.168] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:26:53.179] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:26:53.209] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:26:53.241] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:26:53.334] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:26:53.380] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:26:53.427] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:26:53.560] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:26:53.825] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:26:54.066] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:26:54.361] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:26:54.634] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:26:54.884] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
follow_user_cnt_result = run_dml_plr_models(df_with_dummies, Y = "follow_user_cnt", D = "is_pk_live", Xs = features_base)
## INFO [09:26:55.581] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:26:55.655] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:26:55.730] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:26:55.877] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:26:56.291] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:26:56.532] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:26:56.876] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:26:57.794] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:26:58.687] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:26:59.636] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:27:00.505] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:27:01.398] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:27:02.484] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:27:02.542] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:27:02.573] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:27:02.661] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:27:02.715] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:27:02.760] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:27:02.895] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:27:03.146] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:27:03.398] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:27:03.722] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:27:03.983] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:27:04.241] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
join_fans_group_cnt_result = run_dml_plr_models(df_with_dummies, Y = "join_fans_group_cnt", D = "is_pk_live", Xs = features_base)
## INFO [09:27:04.915] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:27:05.001] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:27:05.079] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:27:05.204] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:27:05.455] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:27:05.718] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:27:06.061] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:27:06.944] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:27:07.820] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:27:08.824] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:27:09.682] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:27:10.531] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:27:11.583] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:27:11.615] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:27:11.648] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:27:11.749] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:27:11.794] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:27:11.844] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:27:11.977] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:27:12.230] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:27:12.498] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:27:12.807] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:27:13.075] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:27:13.338] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
category <- c("total_cost_amt", "avg_valid_play_duration", "follow_author_cnt",
"cancel_follow_author_cnt", "follow_user_cnt", "join_fans_group_cnt")
crs <- c(
"total_cost_amt" = "Total Gifting",
"avg_valid_play_duration" = "Avg Play Duration Per Viewer",
"follow_author_cnt" = "New Followers",
"cancel_follow_author_cnt" = "Lost Followers",
"follow_user_cnt" = "Viewer-to-Viewer Follows",
"join_fans_group_cnt" = "New Fans"
)
MS_list <- list()
for (var in category) {
new_var <- crs[[var]]
MS_list[[new_var]] <- get(paste0(var, "_result"))[['mod']]
ggsave(paste0("../2.Output/DML_PK_vs_NonPK_", var, ".pdf"), plot = get(paste0(var, "_result"))[['plot']], device = "pdf", width = 16, height = 9, units = "in")
ggsave(paste0("../2.Output/DML_PK_vs_NonPK_", var, ".png"), plot = get(paste0(var, "_result"))[['plot']], device = "png", width = 16, height = 9, dpi = 300, units = "in")
}
modelsummary(MS_list)
|
Total Gifting |
Avg Play Duration Per Viewer |
New Followers |
Lost Followers |
Viewer-to-Viewer Follows |
New Fans |
LASSO |
-7.156 |
0.006 |
-2.306 |
1.360 |
10.021 |
-3.316 |
|
(6.241) |
(0.062) |
(6.248) |
(0.630) |
(6.238) |
(3.101) |
Random Forest |
-6.223 |
0.013 |
-3.153 |
1.310 |
10.541 |
-3.148 |
|
(6.237) |
(0.062) |
(6.253) |
(0.631) |
(6.240) |
(3.102) |
Regression Tree |
-7.001 |
0.007 |
-2.130 |
1.333 |
10.239 |
-3.333 |
|
(6.243) |
(0.062) |
(6.249) |
(0.630) |
(6.236) |
(3.102) |
Boosted Trees |
-6.636 |
0.015 |
-2.487 |
1.402 |
9.164 |
-3.701 |
|
(6.266) |
(0.063) |
(6.250) |
(0.633) |
(6.253) |
(3.106) |
Obs |
10000 |
10000 |
10000 |
10000 |
10000 |
10000 |
save_model_summaries <- function(list, new_cate_name) {
modelsummary(list, stars = c('+' = .1, '*' = .05, '**' = .01, '***' = .001),
output = paste0("../2.Output/", new_cate_name, ".docx"))
title = paste0('The Impact of PK Event',
'\\label{tab:', new_cate_name, '}')
modelsummary(list, output = "latex", stars = c('+' = .1, '*' = .05, '**' = .01, '***' = .001),
title = title, escape = FALSE) |>
theme_tt("resize") |>
save_tt(paste0("../2.Output/", new_cate_name, ".tex"), overwrite = TRUE)
}
save_model_summaries(MS_list, "DML_PK_vs_NonPK")
log001 (actually it is log(0.01+x))
log001_total_cost_amt_result = run_dml_plr_models(df_with_dummies, Y = "log001_total_cost_amt", D = "is_pk_live", Xs = features_base)
## INFO [09:27:17.947] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:27:18.027] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:27:18.117] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:27:18.257] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:27:18.482] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:27:18.734] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:27:19.081] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:27:19.960] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:27:20.846] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:27:21.817] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:27:22.724] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:27:23.596] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:27:24.617] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:27:24.656] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:27:24.686] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:27:24.776] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:27:24.845] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:27:24.900] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:27:25.042] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:27:25.272] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:27:25.490] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:27:25.773] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:27:26.048] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:27:26.298] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
log001_avg_valid_play_duration_result = run_dml_plr_models(df_with_dummies, Y = "log001_avg_valid_play_duration", D = "is_pk_live", Xs = features_base)
## INFO [09:27:26.956] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:27:27.043] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:27:27.123] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:27:27.250] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:27:27.490] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:27:27.747] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:27:28.094] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:27:28.999] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:27:30.043] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:27:30.990] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:27:31.868] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:27:32.726] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:27:33.744] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:27:33.779] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:27:33.812] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:27:33.899] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:27:33.944] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:27:33.990] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:27:34.121] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:27:34.358] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:27:34.600] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:27:34.919] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:27:35.185] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:27:35.446] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
log001_follow_author_cnt_result = run_dml_plr_models(df_with_dummies, Y = "log001_follow_author_cnt", D = "is_pk_live", Xs = features_base)
## INFO [09:27:36.119] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:27:36.192] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:27:36.288] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:27:36.420] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:27:36.662] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:27:36.900] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:27:37.239] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:27:38.157] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:27:39.017] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:27:39.969] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:27:40.814] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:27:41.720] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:27:42.886] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:27:42.920] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:27:42.951] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:27:43.047] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:27:43.091] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:27:43.144] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:27:43.283] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:27:43.551] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:27:43.800] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:27:44.099] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:27:44.396] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:27:44.686] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
log001_cancel_follow_author_cnt_result = run_dml_plr_models(df_with_dummies, Y = "log001_cancel_follow_author_cnt", D = "is_pk_live", Xs = features_base)
## INFO [09:27:45.429] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:27:45.516] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:27:45.610] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:27:45.730] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:27:45.979] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:27:46.211] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:27:46.573] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:27:47.431] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:27:48.325] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:27:49.282] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:27:50.142] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:27:50.984] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:27:51.996] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:27:52.029] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:27:52.061] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:27:52.155] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:27:52.199] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:27:52.245] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:27:52.376] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:27:52.628] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:27:52.878] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:27:53.189] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:27:53.448] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:27:53.897] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
log001_follow_user_cnt_result = run_dml_plr_models(df_with_dummies, Y = "log001_follow_user_cnt", D = "is_pk_live", Xs = features_base)
## INFO [09:27:54.538] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:27:54.613] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:27:54.690] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:27:54.822] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:27:55.057] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:27:55.288] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:27:55.646] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:27:56.539] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:27:57.434] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:27:58.401] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:27:59.279] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:28:00.148] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:28:01.167] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:28:01.203] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:28:01.235] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:28:01.327] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:28:01.386] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:28:01.432] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:28:01.561] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:28:01.774] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:28:02.039] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:28:02.313] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:28:02.583] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:28:02.839] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
log001_join_fans_group_cnt_result = run_dml_plr_models(df_with_dummies, Y = "log001_join_fans_group_cnt", D = "is_pk_live", Xs = features_base)
## INFO [09:28:03.491] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 1/3)
## INFO [09:28:03.581] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 2/3)
## INFO [09:28:03.673] [mlr3] Applying learner 'regr.cv_glmnet' on task 'nuis_l' (iter 3/3)
## INFO [09:28:03.796] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 1/3)
## INFO [09:28:04.047] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 2/3)
## INFO [09:28:04.292] [mlr3] Applying learner 'classif.cv_glmnet' on task 'nuis_m' (iter 3/3)
## INFO [09:28:04.659] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 1/3)
## INFO [09:28:05.547] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 2/3)
## INFO [09:28:06.423] [mlr3] Applying learner 'regr.ranger' on task 'nuis_l' (iter 3/3)
## INFO [09:28:07.388] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 1/3)
## INFO [09:28:08.267] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 2/3)
## INFO [09:28:09.131] [mlr3] Applying learner 'classif.ranger' on task 'nuis_m' (iter 3/3)
## INFO [09:28:10.184] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 1/3)
## INFO [09:28:10.218] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 2/3)
## INFO [09:28:10.251] [mlr3] Applying learner 'regr.rpart' on task 'nuis_l' (iter 3/3)
## INFO [09:28:10.336] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 1/3)
## INFO [09:28:10.390] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 2/3)
## INFO [09:28:10.442] [mlr3] Applying learner 'classif.rpart' on task 'nuis_m' (iter 3/3)
## INFO [09:28:10.580] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 1/3)
## INFO [09:28:10.804] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 2/3)
## INFO [09:28:11.035] [mlr3] Applying learner 'regr.xgboost' on task 'nuis_l' (iter 3/3)
## INFO [09:28:11.316] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 1/3)
## INFO [09:28:11.589] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 2/3)
## INFO [09:28:11.840] [mlr3] Applying learner 'classif.xgboost' on task 'nuis_m' (iter 3/3)
category <- c("log001_total_cost_amt", "log001_avg_valid_play_duration", "log001_follow_author_cnt",
"log001_cancel_follow_author_cnt", "log001_follow_user_cnt", "log001_join_fans_group_cnt")
crs <- c(
"log001_total_cost_amt" = "Total Gifting (log001)",
"log001_avg_valid_play_duration" = "Avg Play Duration Per Viewer (log001)",
"log001_follow_author_cnt" = "New Followers (log001)",
"log001_cancel_follow_author_cnt" = "Lost Followers (log001)",
"log001_follow_user_cnt" = "Viewer-to-Viewer Follows (log001)",
"log001_join_fans_group_cnt" = "New Fans (log001)"
)
MS_list <- list()
for (var in category) {
new_var <- crs[[var]]
MS_list[[new_var]] <- get(paste0(var, "_result"))[['mod']]
ggsave(paste0("../2.Output/DML_PK_vs_NonPK_", var, ".pdf"), plot = get(paste0(var, "_result"))[['plot']], device = "pdf", width = 16, height = 9, units = "in")
ggsave(paste0("../2.Output/DML_PK_vs_NonPK_", var, ".png"), plot = get(paste0(var, "_result"))[['plot']], device = "png", width = 16, height = 9, dpi = 300, units = "in")
}
modelsummary(MS_list)
|
Total Gifting (log001) |
Avg Play Duration Per Viewer (log001) |
New Followers (log001) |
Lost Followers (log001) |
Viewer-to-Viewer Follows (log001) |
New Fans (log001) |
LASSO |
-0.014 |
0.003 |
-0.029 |
0.027 |
0.026 |
-0.011 |
|
(0.022) |
(0.021) |
(0.023) |
(0.028) |
(0.022) |
(0.023) |
Random Forest |
-0.011 |
0.004 |
-0.032 |
0.026 |
0.028 |
-0.011 |
|
(0.022) |
(0.021) |
(0.023) |
(0.028) |
(0.022) |
(0.023) |
Regression Tree |
-0.013 |
0.003 |
-0.028 |
0.026 |
0.026 |
-0.012 |
|
(0.022) |
(0.021) |
(0.023) |
(0.028) |
(0.022) |
(0.023) |
Boosted Trees |
-0.015 |
0.003 |
-0.036 |
0.027 |
0.024 |
-0.019 |
|
(0.022) |
(0.021) |
(0.023) |
(0.028) |
(0.022) |
(0.023) |
Obs |
10000 |
10000 |
10000 |
10000 |
10000 |
10000 |
save_model_summaries <- function(list, new_cate_name) {
modelsummary(list, stars = c('+' = .1, '*' = .05, '**' = .01, '***' = .001),
output = paste0("../2.Output/", new_cate_name, ".docx"))
title = paste0('The Impact of PK Event',
'\\label{tab:', new_cate_name, '}')
modelsummary(list, output = "latex", stars = c('+' = .1, '*' = .05, '**' = .01, '***' = .001),
title = title, escape = FALSE) |>
theme_tt("resize") |>
save_tt(paste0("../2.Output/", new_cate_name, ".tex"), overwrite = TRUE)
}
save_model_summaries(MS_list, "DML_PK_vs_NonPK_log001")