Есть ли способ отображать стандартные ошибки с помощью ml_linear_regression в sparklyr?

#r #linear-regression #sparkr #sparklyr

#r #линейная регрессия #sparkr #sparklyr

Вопрос:

При выполнении линейной регрессии с использованием sparklyr, например:

 cached_cars %>%
  ml_linear_regression(mpg ~ .) %>%
  summary()
  

Результаты не включают стандартные ошибки

 Deviance Residuals:
     Min       1Q   Median       3Q      Max 
-3.47339 -1.37936 -0.06554  1.05105  4.39057 

Coefficients:
(Intercept) cyl_cyl_8.0 cyl_cyl_4.0        disp          hp        drat
16.15953652  3.29774653  1.66030673  0.01391241 -0.04612835  0.02635025
          wt        qsec          vs          am       gear        carb 
 -3.80624757  0.64695710  1.74738689  2.61726546 0.76402917  0.50935118  

R-Squared: 0.8816
Root Mean Squared Error: 2.041
  
  1. Есть ли способ отображать стандартные ошибки при выполнении этой регрессии?
  2. Есть ли способ кластеризации стандартных ошибок в sparklyr?
  3. Я также пытался запустить линейную модель с несколькими групповыми фиксированными эффектами в sparklyr. В базовом R я сделал это с помощью felm. У кого-нибудь есть опыт выполнения этого в sparklyr?

Решения, использующие SparkR, также высоко ценятся.

Комментарии:

1. Для 2 и 3 см. Эту статью о выполнении эконометрики в Spark hdl.handle.net/10419/214153

Ответ №1:

Я получил полезный ответ на свой первый вопрос в community.rstudio.com .

Ответ от итаоли следующий:

 library(sparklyr)

spark_version <- "2.4.4" # This is the version of Spark I ran this example code with,
# but I think everything that follows should work in all versions of Spark anyways

sc <- spark_connect(master = "local", version = spark_version)

cached_cars <- copy_to(sc, mtcars)
model <- cached_cars %>%
  ml_linear_regression(mpg ~ .)

coeff_std_errs <- invoke(model$model$.jobj, "summary") %>%
  invoke("coefficientStandardErrors")

print(coeff_std_errs)
  

Ответ №2:

  1. Я думаю, что вы ищете tidy() . Итак, в вашем случае:
 regression1 <- cached_cars %>%
  ml_linear_regression(mpg ~ .) 
tidy(regression1)
  

Что касается кластеризованных стандартных ошибок и фиксированных эффектов, я не знаю.

Комментарии:

1. По какой-то причине это не сработало для моего варианта использования, но я увидел другой ответ, предлагающий то же самое

2. Это странно. Я использую broom для своей tidy, вы могли бы попробовать broom::tidy(regression1) , хотя у sparklyr есть версия tidy, поэтому `sparklyr::tidy (regression1)’ должен работать.