1. ホーム
  2. r

[解決済み] R rlm モデルエラー: 'x' が特異である: 'rlm' に特異な適合は実装されていません。

2022-02-16 08:54:33

質問

私はRでこの2つのリストを持っています。

y=c(420.5568, 693.6305, 420.5568, 946.9677, 499.1046, 946.9677)
x=c(32, 29, 32, 27, 31, 27)

このデータを rlm このコードを使用して、モデルを作成します。

fit_new = (rlm(log(tail(y, 3)) ~ poly( tail(x,3), 2, raw=TRUE )))

応答はこのようなエラーです。

 Error in rlm.default(x, y, weights, method = method, wt.method = wt.method,  : 
'x' is singular: singular fits are not implemented in 'rlm'

解決方法は?

先ほどのコメントを要約すると、入力データに問題があるのです。すなわち、重複しているペアがあるのです。 (x, y) . 回帰アルゴリズムは通常行列上で動作し、行列が同じ行または列を持つ場合、その行列式はゼロになります。アルゴリズムによっては、この問題を解決できるものもありますが、そうでないものもあります。

ここでは、あなたのデータに対する最小限のアドホックな修正方法を紹介します。 unique を使用して重複を削除します。しかし、注意してください。一般的な解決策として、重複する ペア の中の重複だけでなく xy を別途用意します。