Anscombe's quartet
Anscombe's quartet comprises of four datasets, and is rather famous. Why? You'll find out in this exercise.
Part 1
For each of the four datasets...
- Compute the mean and variance of both x and y
- Compute the correlation coefficient between x and y
- Compute the linear regression line:y=β0+β1x+ϵ (hint: use statsmodels and look at the Statsmodels notebook)
代码:
Compute the mean and variance of both x and y
print("The mean is")
print(anascombe.groupby("dataset").mean())
print("The variance is")
print(anascombe.groupby("dataset").var())
Compute the correlation coefficient between
x and
y
print("The correlation coefficient is")
print(anascombe.groupby("dataset").x.corr(anascombe.y))
Compute the linear regression line:
y=β0+β1x+ϵ (hint: use statsmodels and look at the Statsmodels notebook)
print("The linear regression line of each dataset is")
for i in ['I', 'II', 'III', 'IV']:
dataset = anascombe[anascombe['dataset']==i]
x = sm.add_constant(np.array(dataset.x))
y = np.array(dataset.y)
lin_model = sm.OLS(y, x).fit()
print('y = ' + str(lin_model.params[0]) + "+" + str(lin_model.params[1]) + "x")
Part 2
Using Seaborn, visualize all four datasets.
hint: use sns.FacetGrid combined with plt.scatter
代码:
sns.FacetGrid(data=anascombe, col='dataset', col_wrap=2).map(plt.scatter, 'x', 'y')
plt.show()