Тест. Коэффициенты корреляции


In [9]:
from __future__ import division

import numpy as np
import pandas as pd

from scipy import stats

%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

Есть ли связь между неграмотностью и рождаемостью? Для 94 стран, уровень неграмотности женщин в которых больше 5%, известны доля неграмотных среди женщин старше 15 (на 2003 год) и средняя рождаемость на одну женщину (на 2005 год).

illiteracy.txt

Чему равен выборочный коэффициент корреляции Пирсона между этими двумя признаками? Округлите до четырёх знаков после десятичной точки.


In [2]:
illiteracy = pd.read_csv('illiteracy.txt', delimiter='\t')
illiteracy.info()


<class 'pandas.core.frame.DataFrame'>
RangeIndex: 94 entries, 0 to 93
Data columns (total 3 columns):
Country    94 non-null object
Illit      94 non-null float64
Births     94 non-null float64
dtypes: float64(2), object(1)
memory usage: 2.3+ KB

In [4]:
illiteracy.describe()
illiteracy.head()


Out[4]:
Illit Births
count 94.000000 94.000000
mean 31.473404 3.664787
std 22.348622 1.585262
min 5.400000 0.880000
25% 13.325000 2.392500
50% 22.650000 3.370000
75% 49.325000 4.960000
max 90.200000 7.670000
Out[4]:
Country Illit Births
0 Albania 20.5 1.78
1 Algeria 39.1 2.44
2 Bahrain 15.0 2.34
3 Belize 5.9 2.97
4 Benin 73.5 5.60

In [6]:
il_pearsonr = stats.pearsonr(illiteracy['Illit'], illiteracy['Births'])
print('Pearson correlation: %.4f' % il_pearsonr[0])


Pearson correlation: 0.7687

In [7]:
il_spearmanr = stats.spearmanr(illiteracy['Illit'], illiteracy['Births'])
print('Spearman correlation: %.4f' % il_spearmanr[0])


Spearman correlation: 0.7530

In [19]:
sns.jointplot('Illit', 'Births', illiteracy, kind="reg");