[(株)数理システム]

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


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

東京では暑さもひと段落したようですが、皆様、お変わりございませんか?

まず最初に、株式会社数理システムが開催していますS-PLUSセミナーについてのお知らせです。
**************************************************************************
長らく、数理システムでは

と、セミナーを開催してまいりましたが、グラフィカル・ユーザー・インターフェースでのコースを増やしてほしいというお客様からのご要望にお答えしまして、S-PLUS for Windows 応用コース(仮)を10月より、開催することといたしました。詳しい内容や日程につきましては、来週始めに数理システムのS-PLUS ホームページに掲載予定でおります。
http://www.msi.co.jp/splus/
ぜひ、ご参加ください!
**************************************************************************
さて、前回は、step を使った説明変数の選択について、ご説明してまいりました。簡単にまとめますと、「step は高次のモデルから、AICを使いながら、最適のモデルを自動的に探す」ということになります。ここで「自動的」というのが曲者ですね。
自分がいくら望んで入ってほしい変数があっても、「AICが小さくならないから」という理由でばっさり切り捨てられてしまう可能性があります。こういう愛着(?)がある変数を絶対残したいときはどうすればよいでしょうか?
前回の例:

fitall <- lm(Fuel ~ (Weight + Disp. + Type)^2, data = fuel.frame)
step(fitall)


とすると、変数 Weight は落とされてしまいますが、これを残したいという場合は

fits <- step(fitall, scope=list(lower= ~ Weight))

とします。引数 scope は必要に応じて、要素 upper と lower を持つリストにすることができます。upper はモデル式の上限、lower は下限を指定することができ、上の式は、変数 Weight を絶対落とさないでね、という意味になります。

全部のモデル式を試す必要がなく、自分が調べたいモデル式だけを指定することも可能です。詳しくは、step のヘルプなどをご覧ください。

以上で step による変数選択はおしまいです。
今度は、関数 tree による変数選択(の可能性)をご紹介します。

例えば、同じサンプルデータセット fuel.frame を用いて

tr <- tree(Fuel ~ Disp. + Weight + Type, data=fuel.frame)
plot(tr)
text(tr)


としたら、どんなグラフになりますか?
グラフの見方、どうしてこんなグラフができたのか、につきましては次回の mini course でご説明いたします。
お楽しみに!

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

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