研究日記

学習内容の記録です。わからないことばかりです。

Why would R return NA as a lm() coefficient?

予測モデル作成、predict関数すると以下のような警告が出力。

f:id:kento12021:20180604154925p:plain

 

どうやら lm 結果のモデルと、 predict で予測するデータのランクが一致していないようなことが記載されている。

とりあえず予測モデルの summary を出力してみると以下のように係数の中に NA を発見。

 f:id:kento12021:20180604154909p:plain

 

上記の警告を解消するための参考になりそうなサイト↓

stats.stackexchange.com

 

stackoverflow.com

 

上記のサイトから推測するに、summary で NA と出力されている Deleted の係数が従属変数のよう。ほかのいくつかの変数によって計算できる値のようで具体的には、

Q1,Q2,Q3 を用いて重回帰分析を実施したが、その結果、どうやら

f:id:kento12021:20180605134758p:plain

のような任意のa, b, c によって Q3 が表されるような変数であったようだ。そのため、これを変数とみなさず、係数も NA と出力され、警告がでていたと思われる。

今回では Deleted の変数が不適であったようだ。そのため、解決策としては NA となった係数を持つ変数を重回帰分析から取り除く必要がある。

実際に Deleted の項目を取り除くと警告が出力されることなく予測ができた。

 

1枚目の警告は今回のような場合の他に、予測モデルの変数と、これから予測を行うものの変数が一致していないと警告が出力されるようだ。

 

なるほど。