簡體   English   中英

R 中的不可逆性障礙 package

[英]Non-invertability Mhurdle package in R

對於一個項目,我正在使用 0 的角解決方案分析數據。我可以隨意使用響應 y 和大約 20 個自變量。 對於 model 這類數據我想使用刪失回歸模型,包括:Tobit、Truncated Normal Hurdle/Cragg 和 Tobit Type II。 所有這些都可以通過 R 中的“障礙”package 輕松實現。

但是,為了實現截斷法線跨欄/Cragg model,我注意到發生了一件奇怪的事情。 具體來說,當良好選擇和缺乏資源機制的規范變得更加相似時,我開始遇到錯誤:

 system is computationally singular: reciprocal condition number = 1.13973e-18

因此,例如,以下規范運行良好

  model_good <- mhurdle(y ~ x1 + x2 + ... + x20| x1 + x2 |, 0, data = X, dist = "n")

雖然在第二部分(良好選擇)中包含來自第一部分(期望消耗)的更多預測變量的規范會遇到麻煩:

  model_error <- mhurdle(y ~ x1 + x2 + ... + x20| x1 + x2 + ... x15 |, 0, data = X, dist = "n")

我已經檢查了我的數據的可逆性,這似乎不是問題。 我使用的 20 個特征之間的成對相關性均不超過 0.15,並且矩陣 (X'X) 具有滿秩。

現在我想知道,當這兩個部分的規格變得與 model 的工作方式固有的相似時,model 是否會引發錯誤,還是 ZEFE90A8E604A7C840E88D03A67F6B7 錯誤?

編輯:

在估計文檔( http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.204.8204&rep=rep1&type=pdf )中提供的示例時,我也遇到了問題,例如:

  model12i <- mhurdle(durable ~ age + quant | age + quant | age + quant, tobin, dist = "n", method = "bfgs")

還給出了一個奇點問題:

  Lapack routine dgesv: system is exactly singular: U[1,1] = 0

我遇到的問題似乎是由於我的數據結構方式造成的。 具體來說,一些協變量是在 (-1, 1) 區間內取值的比率,而其他協變量是域范圍為 (-1e+10, 1e+10) 的會計變量。 不知何故,package 無法處理域中的巨大差異。 因此我采取了兩個步驟:

  • 將所有會計變量除以 10.000
  • 移除異常值

采取這些步驟后,庫按預期執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM