Допустим, у нас есть 10 независимых переменных x1, x2, x3, ... xn, которые являются категориальными с одинаковыми уровнями 0,1,2 (например, 0 = нет цвета, 1 = красный, 2 = зеленый) иу вас есть две зависимые (ответные) переменные (например, y1 = длина штанов в м и y2 = размер талии в м).Как определить, какие независимые переменные (x1, x2, x3, ... xn) управляют зависимыми переменными (y1 и y2)?
Пример данных следующий:
| x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 | size(y1) | length(y2) |
|----|----|----|----|----|----|-----|----|----|-----|----------|------------|
| 0 | 1 | 2 | 1 | 0 | 0 | 2 | 1 | 0 | 2 | 0.36 | 0.84 |
| 0 | 1 | 1 | 0 | 2 | 1 | 0 | 2 | 0 | 1 | 0.84 | 1.23 |
| 1 | 2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 | 1.92 | 3.86 |
Я попытался PLS-регрессия в Python , и вот мой код
import pandas as pd
import numpy as np
df = pd.read_csv('data.csv', header = 0)
X = pd.DataFrame.as_matrix(df[[x for x in df.columns if x not in ['waist_size', 'pant_length']]])
Y = pd.DataFrame.as_matrix(df[[''waist_size', 'pant_length'']])
from sklearn.cross_decomposition import PLSRegression
pls = PLSRegression(n_components = 8)
pls.fit(X,Y)
coef = pls.coef_
sorted_index = np.argsort(np.abs(pls.coef_))
Фактический результат этого подхода заключается в следующем: я получаю пустой массив для всех строк в наборе данныхи выглядит следующим образом:
[1, 0],
[1, 0],
[1, 0],
[1, 0],
[1, 0],
[0, 1],
[1, 0]
.....
Как это интерпретировать?
И есть ли способ расчета прямых корреляций и важности характеристик в подобных задачах?