Почему порядок колонок в CCA изменяет некоторые результаты?

Вопрос или проблема

При запуске CCA из scikit learn, если изменить порядок в столбцах (изменение порядка строк обоих наборов данных вместе не дает разных результатов, которые я видел — не показано здесь),

from sklearn.cross_decomposition import CCA
import numpy as np

x15 = np.array([[5,3,6,7,3],[3,6,2,7,3],[3,4,6,4,4],[2,4,3,5,6]])
y14 = np.array([[3,4,2,5],[1,4,2,7],[2,3,5,6],[3,5,7,2]])
rng = np.random.default_rng()

x15_perm = np.random.permutation(x15.shape[1])
x15_perm_args = np.argsort(x15_perm)
x15 = x15[:, x15_perm]

y14_perm = np.random.permutation(y14.shape[1])
y14_perm_args = np.argsort(y14_perm)
y14 = y14[:, y14_perm]

Затем выполните подгонку и преобразование с помощью CCA, как

ncomp = 3
ccaxy = CCA(n_components=ncomp) 
x15_c, y14_c = ccaxy.fit_transform(x15, y14)

Эти результаты меняются.

print(ccaxy.coef_)
print(x15_c)
print(y14_c)

А эти, с восстановлением того же порядка.

print(ccaxy.x_loadings_[x15_perm_args])
print(ccaxy.y_loadings_[y14_perm_args])

Но это не меняется.

comp_corre = [np.corrcoef(x15_c[:, i], y14_c[:, i])[1][0] for i in range(ncomp)]
print(comp_corre)

Каково объяснение этому?

Я понял, что это связано с низким соотношением объектов и признаков, когда оно высокое, результаты довольно стабильны. Как видно из (повторного выполнения всего ниже этих).

x15 = np.sort(np.random.random((10000, 5)))
y14 = np.sort(np.random.random((10000, 4)))

Ответ или решение

Вопрос о том, почему порядок столбцов в методе канонической корреляции анализа (CCA) влияет на результаты, является интересным и сложным. CCA — это метод, используемый для выявления и quantification связи между двумя множествами переменных. Основные результаты анализа могут изменяться в зависимости от порядка, в котором представлены переменные, и это даст указание на важность понимания структуры данных.

Причины, почему порядок столбцов в CCA влияет на результаты

  1. Природа аналитического процесса:
    CCA работает путем получения линейных комбинаций переменных из обоих наборов данных. Когда происходит изменение порядка столбцов, изменяется способ, которым данные матрицы представлены. Это влияет на то, как алгоритм выстраивает связи между переменными, поскольку он использует порядок в структуре данных при оценке весов, координирующих корреляцию между наборами данных.

  2. Субъективность линейных комбинаций:
    Если вы изменяете порядок, вы на самом деле можете менять и линейные комбинации, которые получают алгоритмы. Изменения в порядке столбцов могут привести к изменению самих линейных комбинаций, которые в свою очередь повлияют на результаты CCA. Например, первоочередные загруженные наборы переменных могут оказаться менее значимыми для объяснения взаимосвязей между переменными, которые находятся ниже в списке.

  3. Разница в структуре данных:
    При работе с малым числом наблюдений по сравнению с числом признаков (например, 4 признака и 4 наблюдения в первом примере), каждая переменная вносит значительный вклад в общий результат. Поэтому, если вы перемешиваете столбцы, можно путем изменения порядка переставить их вклад в анализ на более критические позиции, тем самым влияя на результаты.

  4. Чувствительность к порядку при низком соотношении наблюдений и признаков:
    Как вы отметили, при низком соотношении количества наблюдений (samples) к количеству признаков (features) результаты могут значительно варьироваться. На малом количестве данных каждая переменная может вносить большие веса в модели, что делает их пропорционально более значительными, чем в больших наборах данных.

  5. Статистическая значимость и интерпретация:
    Когда вы используете переменные в различных порядках, коэффициенты CCA и загружающие переменные подвержены изменениям. Хотя корреляции компонентов в большинстве случаев останутся одинаковыми, значения коэффициентов могут быть существенно различаться, что указывает на изменчивую интерпретацию в зависимости от порядка.

Рекомендации

  • При работе с CCA следует учитывать порядок переменных, особенно если соотношение между количеством наблюдений и признаков низкое, чтобы минимизировать перехлесты в результатах анализа.
  • Важно формировать критерии по выбору порядка переменных, основываясь на глубоких анализах и предварительных экспериментах. Этоическое понимание усредненных и предсказанных результатов поможет в дальнейшем лучше интерпретировать связи.

Таким образом, изменение порядка переменных в методе CCA оказывает значительное влияние на результаты анализа. Для достижения более надежных и воспроизводимых результатов рекомендуется работать с данными, пользовавшись статистическими и аналитическими техниками, обеспечивающими максимальное качество и ясность выводов.

Оцените материал
Добавить комментарий

Капча загружается...