[(株)数理システム]

(S-PLUS) S-PLUS mini course 第22回


S-PLUS mini course の22回目をお届けします。

まずはじめに宣伝です(ごめんなさい、これで最後にします)。
数理システムより、初めてのS-PLUSメニュー参考書と題しまして「S-PLUS for Windows 入門」を刊行しました。
この mini course は S 言語だけを取り上げて、コマンドを解説していますが、この本は中心がグラフィカル・ユーザー・インタフェースです。
結構、メニューも侮りがたく、便利なものですから、日常のちょっとした作業はこちらから行っていたりします。このちょっとした小技の集大成とも言うべきなのがこの参考書です。
目次、ご購入方法、本のサンプルなどは
http://www.msi.co.jp/splus/tips/books/newbook11.html
をご覧ください。

前回は lsfit と lm の違いについてご説明しました。
今回は lm の進んだ使い方についてでした。

関数 lm の結果はクラス lm を持つオブジェクトであり、このクラスを持っていると

と簡単で汎用な名前の関数に当てはめることによって、意味のある結果を取り出すことができました。
では、他にどのようなことができるのか、ざっと見てみましょう。

methods(class="lm")

とすると、このクラスlm に対する特別なメソッド関数を一覧表示させることができます。例えば、S-PLUS 6.0 以上をご利用の方なら

durbinWatson(lmクラスオブジェクト名)

とすることによって、回帰残差に1階自己相関があるかどうかチェックするためのDurbin-Watson 値を求めることができます。

このメソッドを用いて、予測をしてみましょう。
回帰の目的のひとつに、予測を行うことがあると思いますが、前回の単回帰、fit2 を使うと

predict(fit2)

で、「回帰に用いたデータの予測」を行うことができます。
でも、どちらかというと、「過去のデータの予測」ではなくて、「これから得られる新しいデータに、この回帰式を当てはめるとどうなるか」に興味がありますよね。その場合

predict(fit2, new=新しいデータ名)

とします。ここで注意しなければならないことは、新しいデータは、回帰に用いた変数と同じ変数(fit2 なら Weight)を持っていなければならないということです。この例ならば、小文字の weight でもいけません。
逆に、

predict(fit2, new=data.frame(Weight=2000))

とすれば、「Weight=2000 の車の値だけ予測したーい」というときにも対応できるのです。
次回は、「説明変数にカテゴリカルな値、因子が含まれているときはどうするか」について、取り上げたいと思います。
次回もお楽しみに!

----------------------------------------------------------------

? お問い合わせ/資料請求はお気軽に。
(株)数理システム《S-PLUS》グループ <splus-info@msi.co.jp>