Что такое значимая «корреляционная» мера для изучения взаимосвязи между такими двумя типами переменных?
В R как это сделать?
Что такое значимая «корреляционная» мера для изучения взаимосвязи между такими двумя типами переменных?
В R как это сделать?
X <- sample(c(0,1),replace=TRUE,size=100)
(2)Y <- X + rnorm(100,0.5)
(3)corr(Y,X)
(4)X <- 1 + 10*X
(5)corr(X,Y)
: одинаковые результаты для обеих корреляций!Ответы:
На мгновение давайте проигнорируем непрерывную / дискретную проблему. По сути, корреляция измеряет силу линейных отношений между переменными, и вы, похоже, просите альтернативный способ измерения силы отношений. Возможно, вам будет интересно взглянуть на некоторые идеи из теории информации . В частности, я думаю, что вы можете посмотреть на взаимную информацию . Взаимная информация, по сути, дает вам возможность количественно определить, насколько знание состояния одной переменной говорит вам о другой переменной. Я действительно думаю, что это определение ближе к тому, что имеет в виду большинство людей, когда они думают о корреляции.
Для двух дискретных переменных X и Y вычисление выглядит следующим образом:
Для двух непрерывных переменных мы интегрируем, а не берем сумму:
Ваш конкретный вариант использования предназначен для одного дискретного и одного непрерывного. Вместо того, чтобы интегрировать по сумме или суммировать по интегралу, я представляю, что было бы легче преобразовать одну из переменных в другой тип. Типичный способ сделать это - дискретизировать вашу непрерывную переменную в дискретные ячейки.
Существует несколько способов дискретизации данных (например, равные интервалы), и я считаю, что пакет энтропии должен быть полезен для вычислений MI, если вы хотите использовать R.
источник
Если категориальная переменная является порядковой, и вы преобразуете непрерывную переменную в несколько частотных интервалов, вы можете использовать гамму. Для парных данных, представленных в порядковой форме, также доступны тау Кендала, тау Стюарта и Сомерса D. Все они доступны в SAS с использованием Proc Freq. Я не знаю, как они вычисляются с использованием подпрограмм R. Вот ссылка на презентацию, в которой содержится подробная информация: http://faculty.unlv.edu/cstream/ppts/QM722/measuresofassociation.ppt#260,5, меры ассоциации для именных и порядковых переменных.
источник
Категориальная переменная фактически является просто набором индикаторных переменных. Основная идея теории измерений заключается в том, что такая переменная инвариантна к перемаркировке категорий, поэтому нет смысла использовать числовую маркировку категорий в какой-либо мере взаимосвязи между другой переменной (например, «корреляция»). , По этой причине и мера взаимосвязи между непрерывной переменной и категориальной переменной должна полностью основываться на переменных индикатора, полученных из последней.
Учитывая, что вы хотите измерить «корреляцию» между двумя переменными, имеет смысл взглянуть на корреляцию между непрерывной случайной величиной и индикаторной случайной величиной I, полученной из категориальной переменной. Полагая ϕ ≡ P ( I = 1 ), имеем:X I ϕ≡P(I=1)
который дает:
So the correlation between a continuous random variableX and an indicator random variable I is a fairly simple function of the indicator probability ϕ and the standardised gain in expected value of X from conditioning on I=1 . Note that this correlation does not require any discretization of the continuous random variable.
For a general categorical variableC with range 1,...,m you would then just extend this idea to have a vector of correlation values for each outcome of the categorical variable. For any outcome C=k we can define the corresponding indicator Ik≡I(C=k) and we have:
We can then defineCorr(C,X)≡(Corr(I1,X),...,Corr(Im,X)) as the vector of correlation values for each category of the categorical random variable. This is really the only sense in which it makes sense to talk about 'correlation' for a categorical random variable.
(Note: It is trivial to show that∑kCov(Ik,X)=0 and so the correlation vector for a categorical random variable is subject to this constraint. This means that given knowledge of the probability vector for the categorical random variable, and the standard deviation of X , you can derive the vector from any m−1 of its elements.)
The above exposition is for the true correlation values, but obviously these must be estimated in a given analysis. Estimating the indicator correlations from sample data is simple, and can be done by substitution of appropriate estimates for each of the parts. (You could use fancier estimation methods if you prefer.) Given sample data(x1,c1),...,(xn,cn) we can estimate the parts of the correlation equation as:
Substitution of these estimates would yield a basic estimate of the correlation vector. If you have parametric information onX then you could estimate the correlation vector directly by maximum likelihood or some other technique.
источник
R package mpmi has the ability to calculate mutual information for mixed variable case, namely continuous and discrete. Although there are other statistical options like (point) biserial correlation coefficient to be useful here, it would be beneficial and highly recommended to calculate mutual information since it can detect associations other than linear and monotonic.
источник
IfX is a continuous random variable and Y is a categorical r.v.. the observed correlation between X and Y can be measured by
It should be noted, though, that the point-polyserial correlation is just a generalization of the point-biserial.
For a broader view, here's a table from Olsson, Drasgow & Dorans (1982)[1].
[1]: Source: Olsson, U., Drasgow, F., & Dorans, N. J. (1982). The polyserial correlation coefficient. Psychometrika, 47(3), 337–347
источник