Разница между анализом основных компонентов и анализом независимых компонентов
Многим людям трудно отличить анализ основных компонентов (PCA) от анализа независимых компонентов (ICA). PCA — это алгоритм машинного обучения, который может преобразовывать набор данных за счет максимизации некоррелированности. Напротив, ICA преобразует данные, используя максимизацию независимости. В этой статье я попытаюсь объяснить разницу между некоррелированностью и независимостью.
Некоррелированность
По определению, две переменные считаются коррелированными, если между их тенденцией существует закономерность. Например, набор данных показывает, что увеличение плотности транспортных средств в городе связано с увеличением загрязнения воздуха. Это может быть признаком того, что существует положительная корреляция между плотностью транспортных средств и загрязнением воздуха.
С математической точки зрения корреляцию можно количественно определить с помощью коэффициента корреляции (ρ). Это свойство показывает, насколько похожи две или более переменных. Он определяется как [1]
var(x) и var(y) являются дисперсией x и y. Член cov(x,y) представляет собой ковариацию между x и y. Ковариация — это свойство, показывающее, насколько «далеко» одна переменная от другой. Две переменные называются некоррелированными, если их коэффициент корреляции равен нулю. Это также верно, когда их ковариация равна нулю. Математически
E{xy} – это общее ожидание x и y. E{x} и E{y} — это математическое ожидание x и y, или иногда его можно назвать средним значением xи г.
Независимость
С другой стороны, говорят, что две переменные независимы, если информация об одной переменной не может раскрыть никакой информации о другой переменной. Например, высота над уровнем моря в определенном месте на Земле влияет на гравитационную постоянную в этом месте. Мы также можем легко сформулировать это утверждение, используя математический язык, как
Термин ρ(x) и ρ(y) — это предельное распределение вероятностей x и y. Формула говорит, что две переменные независимы, если их совместное распределение вероятностей ρ(x,y) является произведением их предельного распределения вероятностей.
Какая связь между этими двумя?
Мы видим, что математически корреляция и независимость различны. Более того, если две переменные независимы, эти переменные также некоррелированы. Мы можем доказать это, используя немного теории информации и определение математических ожиданий в статистике [1]. Предположим, что x и y не зависят друг от друга. потом
Но мы также знаем, что x и y независимы, поэтому
Это показывает, что две переменные могут быть коррелированы друг с другом, но не обязательно должны быть независимыми. С другой стороны, если две переменные независимы, то они также не коррелируют друг с другом. Это также дает представление о том, что независимость является более ограничительной, чем некоррелированность [2].
Применим это в реальной жизни. Предположим, вы являетесь генеральным директором определенной компании. У вас есть два набора данных. Один набор данных показывает производительность ваших работников. Другой показывает прибыль вашей компании. Это показывает, что ваша компания испытывает некоторые взлеты и падения. Используя эти данные, вы бы похвалили усилия своего работника?
Данные ясно показывают, что производительность вашего работника не коррелирует с прибылью компании. Но, как мы уже знаем, некоррелированность не означает независимости. Таким образом, производительность вашего работника все еще может иметь положительное влияние на вашу компанию.
Давайте попробуем другой случай, но теперь мы используем PCA и ICA, чтобы понять его визуально.
ППШ и ИКА
Мы знаем, что PCA преобразует набор данных посредством максимизации некоррелированности, в то время как ICA преобразует набор данных посредством максимизации независимости. Учитывая набор данных с графиком рассеяния, показанным на рисунке 1. Мы хотели бы проанализировать его и получить от него представление. Для этого мы можем преобразовать данные.
Преобразование данных означает, что мы перемещаем оси в другое место. Когда мы перемещаем оси, показанные красной линией на рисунке 2, мы можем ясно видеть, что эти данные созданы линейной комбинацией двух независимых переменных. Итак, мы хотели бы получить эти две части информации.
Давайте сначала попробуем преобразовать данные с помощью PCA.
from sklearn.decomposition import PCA pca = PCA(n_components=2) pca.fit(Y)
Используя простую библиотеку scikit-learn, мы можем легко получить новые данные, как показано на рисунке 3.
Как мы видим, мы не можем получить какие-либо независимые переменные с помощью PCA. Это потому, что PCA пытается максимизировать некоррелированность, которая должна выглядеть как преобразование осей, показанных на рисунке 4.
А как же ИКА? Мы также можем легко использовать библиотеку FastICA на scikit-learn для выполнения ICA.
from sklearn.decomposition import FastICA ica = FastICA(n_components=2) ica_result = ica.fit_transform(np.transpose(Y))
Как видно из рисунка 5, мы нашли две независимые переменные, используя максимизацию независимости.
Основываясь на этом. Теперь вы можете различать некоррелированность и независимость. И вы также можете принять решение, использовать ли PCA или ICA.
Использованная литература:
[1] Шализи, Косма. Примечания к теме: Углубленный анализ данных бакалавриата, Напоминание № 1: Некоррелированные и независимые. 2012. Ссылка: https://www.stat.cmu.edu/~cshalizi/uADA/12/reminders /некоррелированный-против-независимый.pdf
[2] Хиваринен, Аапо. Юха Кархунен. Эркки Оя. Независимый компонентный анализ. Джон Вили и сыновья, Inc. 2001.