Ковариация и коэффициент корреляции

У меня есть две случайные величины, и мне нужно точно рассчитать для них некоторые характеристики.

https://math.stackexchange.com/questions/3052308/calculated-covariance-corr-coefficient-confirmation?noredirect=1#

Я уже делал это на Java, но хочу подтвердить свои ответы хотя бы одним инструментом.

Может ли кто-нибудь, кто хорошо разбирается в python / вероятности, дать мне какое-то руководство, как я могу вычислить эти 6 значений в python? Думаю, это действительно просто, но я не очень уверен в питоне.

Я просмотрел документацию по функции numpy cov, но мне трудно ее понять.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
289
1

Ответы 1

Лучшее решение - использовать функции из numpy:

import numpy as np

e_X = np.average(X_values, weights=X_weights)
e_Y = np.average(Y_values, weights=Y_weights)

varX = np.average((X_values-e_X)**2, weights=X_weights)
varY = np.average((Y_values-e_Y)**2, weights=Y_weights)

cov_XY = np.cov(X_values, Y_values)
corrcoef_XY = np.corrcoef(X_values, Y_values)

Большое спасибо. Сегодня попробую.

peter.petrov 27.12.2018 10:47

Я должен был дать совместное распределение X и Y. Мой вопрос не совсем верный.

peter.petrov 27.12.2018 13:47

@ peter.petrov Это зависит от обстоятельств. Вы можете заменить имена переменных вашими именами переменных. Если его результаты такие же, как вы опубликовали в статистике, ничего страшного. В остальном я предлагаю вам изучить некоторую статистику, чтобы вы могли проверить значения.

D. LaRocque 27.12.2018 14:13

Хм ... Но для определения / вычисления cov вам нужно иметь совместное распределение двух переменных, не так ли?

peter.petrov 27.12.2018 14:15
stackoverflow.com/questions/53945334/… Вот настоящая вещь. Это совместное распределение, которое мне дано, я хочу вычислить из него маргинальное значение X и Y. Я уже разобрался, как рассчитать ковариацию и коэффициент корреляции.
peter.petrov 27.12.2018 14:20

Другие вопросы по теме