Сбой, когда слишком много нулей в весовом аргументе в функции rq из библиотеки Quantreg - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь выполнить квантильную регрессию с помощью функции rq библиотеки «Quantreg». У меня проблема, потому что R полностью падает, когда я добавляю аргумент 'weights'.

Я добавил воспроизводимый пример здесь:

library(quantreg)

prof  <- seq(1, 500)
n_profit <- 150

xpred <- seq(min(prof), max(prof), length = n_profit)
x = prof
h=10
tau = 0.5

y <- c(rep(NA, 60), rnorm(n = length(prof) - 60))
z <- x - xpred[1]
z2 <-z^2
wx <- dnorm(z/h)

А потом, это работает:

r <- rq(y ~ z + z2, tau = 0.5,  ci = FALSE)

Но если я попытаюсь добавить весовой аргумент, как это

r <- rq(y ~ z + z2, tau = 0.5, weights = wx,  ci = FALSE)

У меня есть сообщение "R сессия прервана, R обнаружил фатальную ошибку ..."

Здесь, R информация:

  sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=French_France.1252  LC_CTYPE=French_France.1252                
LC_MONETARY=French_France.1252
[4] LC_NUMERIC=C                   LC_TIME=French_France.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] quantreg_5.35 SparseM_1.77 

loaded via a namespace (and not attached):
[1] compiler_3.5.0     Matrix_1.2-14      tools_3.5.0            
MatrixModels_0.4-1 grid_3.5.0        
[6] lattice_0.20-35   

RStudio
Version 1.1.447 – © 2009-2018 RStudio, Inc.

Примечание: этот пример работает под версией R 3.3.3.

У вас есть идеи, как это исправить?

...