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' - Константа, линейный, взаимодействие и квадратные условия

  • 'purequadratic' - Постоянные, линейные и квадратные условия

Если X имеет n столбцов, порядок столбцов D для полной квадратичной модели является:

  1. Постоянный член

  2. Линейные условия (столбцы X, в порядок 1 , 2,..., n)

  3. Условия взаимодействия (попарные продукты столбцов X, по порядку (1, 2), (1, 3),..., (1, n), (2, 3),..., (n-1, n))

  4. Квадратные условия (в порядок 1 , 2,..., n)

Другие модели используют подмножество этих терминов в том же порядке.

Другой способ model может быть матрицей, задающей полиномиальные условия произвольного порядка. В этом случае model должен иметь по одному столбцу для каждого столбца в X и по одной строке для каждого члена в модели. Значения в любой строке model являются степенями для соответствующих столбцов X. Для примера, если X имеет столбцы X1, X2, и X3, затем строка [0 1 2] в model задает термин (X1.^0).*(X2.^1).*(X3.^2). Строка всех нулей в model задает постоянный термин, который может быть опущен.

D = x2fx(X,model,categ) обрабатывает столбцы с номерами, перечисленными в векторе categ как категориальные переменные. Условия, включающие категориальные переменные, создают фиктивные переменные столбцы в D. Фиктивные переменные вычисляются в предположении, что возможные категориальные уровни полностью перечислены уникальными значениями, которые появляются в соответствующем столбце X.

D = x2fx(X,model,categ,catlevels) принимает вектор catlevels той же длины, что и categ, с указанием количества уровней в каждой категориальной переменной. В этом случае значения в соответствующем столбце X должны быть целыми числами в области значений от 1 до заданного количества уровней. Не все уровни должны появляться в X.

Примеры

свернуть все

Преобразуйте два предиктора X1 и X2 (столбцы X) в матрицу проекта для полной квадратичной модели с терминами constant, X1, X2, X1.*X2, X1.^2, и X2.^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

Преобразуйте два предиктора X1 и X2 (столбцы X) в матрицу проекта для квадратичной модели с терминами constant, X1, X2, X1.*X2, и X1.^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