Trace: • imi_crm_how_to_start • space_router • correlation_coefficient • nhibernate
Differences
This shows you the differences between two versions of the page.
|
correlation_coefficient [2018/10/23 10:37] superuser created |
correlation_coefficient [2018/10/23 11:52] (current) superuser |
||
|---|---|---|---|
| Line 4: | Line 4: | ||
| {{:pasted:20181023-103554.png}} | {{:pasted:20181023-103554.png}} | ||
| + | |||
| + | назовём получившиеся массивы как x* и y* соответственно. Теперь получаем коэфициент кореляции по формуле: | ||
| + | |||
| + | {{:pasted:20181023-115023.png}} | ||
| + | |||
| + | Результат будет от -1 до 1. Чем ближе результат к нулю, тем хаотичнее расположены точки. Если результат близок к 1, то точки расположены на линии идущей вверх, если близок к -1, то линия идёт вниз. | ||
| + | |||
| + | <Code:python> | ||
| + | import math | ||
| + | |||
| + | M=lambda x: float(sum(x))/len(x) | ||
| + | def S(X): | ||
| + | a = [((x) - M(X))**2 for x in X] | ||
| + | return math.sqrt(M(a)) | ||
| + | |||
| + | |||
| + | X=[1,2,3,4,5,6] | ||
| + | Y=[1,2,3,4,5,7]#!!! | ||
| + | def StdUnits(X): | ||
| + | a = [(x) - M(X) for x in X] | ||
| + | Xstar = [x/S(X) for x in a] | ||
| + | return Xstar | ||
| + | |||
| + | def corr(X,Y): | ||
| + | a=StdUnits(X) | ||
| + | b=StdUnits(Y) | ||
| + | c=[a[i]*b[i] for i in range(len(a))] | ||
| + | return sum(c)/len(c) | ||
| + | |||
| + | print corr(X,Y) #0.98 because of 7 in Y | ||
| + | </Code> | ||
