Main Content

x2fx

予測子行列の計画行列への変換

構文

D = x2fx(X,model)
D = x2fx(X,model,categ)
D = x2fx(X,model,categ,catlevels)

説明

D = x2fx(X,model) は、回帰分析のために予測子行列 X を計画行列 D に変換します。X の各列には異なる予測子変数が入る必要があります。

オプションの入力引数 model は、回帰モデルを制御します。既定の設定では、x2fx は定数項をもつ線形加法モデルの計画行列を返します。model は次のいずれかです。

  • 'linear' — 定数項および線形項。これは既定の設定です。

  • 'interaction' — 定数項、線形項および交互作用項

  • 'quadratic' — 定数項、線形項、交互作用項および 2 乗項

  • 'purequadratic' — 定数項、線形項および 2 乗項

Xn 列ある場合、完全 2 次モデルの D の列の順序は次のとおりです。

  1. 定数項

  2. 線形項 (1, 2, ..., n の順で X の列)

  3. 交互作用項 ((1, 2), (1, 3), ..., (1, n), (2, 3), ..., (n–1, n) の順で X の列のペアになった積)

  4. 2 乗項 (1, 2, ..., n の順)

他のモデルでは、これらの項のサブセットが同じ順序で使用されます。

あるいは、model が、任意の順序の多項式の項を指定する行列である場合もあります。この場合、model には、X の列ごとに 1 つの列と、モデルの項ごとに 1 つの行が必要です。model の行のエントリは、X の対応する列のべき乗です。たとえば、X に列 X1X2、および X3 がある場合、model の行 [0 1 2] によって項 (X1.^0).*(X2.^1).*(X3.^2) が指定されます。model のすべてがゼロの行は定数項を示しますが、省略可能です。

D = x2fx(X,model,categ) は、ベクトル categ 内にリストされた数値を含む列をカテゴリカル変数として扱います。カテゴリカル変数を含んでいる項は、D にダミー変数列を生成します。ダミー変数は、可能なカテゴリカル水準が X の対応する列内にある一意の値で完全に列挙されるという仮定の下で計算されます。

D = x2fx(X,model,categ,catlevels) は、各カテゴリカル変数内のレベル数を指定する categ と同じ長さのベクトル catlevels を受け入れます。この場合、X の対応する列の値は、1 から指定したレベル数の範囲の整数でなければなりません。レベルのすべてが X 内にある必要はありません。

すべて折りたたむ

2 つの予測子 X1X2 (X の列) を、項 constantX1X2X1.*X2X1.^2、および X2.^2 をもつ完全 2 次モデルの計画行列に変換します。

X = [1 10
     2 20
     3 10
     4 20
     5 15
     6 15];
D = x2fx(X,'quadratic')
D = 6×6

     1     1    10    10     1   100
     1     2    20    40     4   400
     1     3    10    30     9   100
     1     4    20    80    16   400
     1     5    15    75    25   225
     1     6    15    90    36   225

2 つの予測子 X1X2 (X の列) を、項 constantX1X2X1.*X2、および X1.^2 をもつ 2 次モデルの計画行列に変換します。

X = [1 10
     2 20
     3 10
     4 20
     5 15
     6 15];
model = [0 0
         1 0
         0 1
         1 1
         2 0];
D = x2fx(X,model)
D = 6×5

     1     1    10    10     1
     1     2    20    40     4
     1     3    10    30     9
     1     4    20    80    16
     1     5    15    75    25
     1     6    15    90    36

バージョン履歴

R2006a より前に導入