Screen Link:
https://app.dataquest.io/m/305/the-mean/8/estimating-the-population-mean
In the screen above, we are asked to create a for loop to generate samples of incremented sizes. One of the instruction is:
- To achieve that, you’ll need to increment the sample size by 29 for every new iteration. Note that you’ll first have to define the sample size with a value of 5 outside the loop.
While it’s a nice instruction, I find that you don’t have to
define the sample size with a value of 5 outside the loop.
In the for loop, all you need to do is increment sample size with 5+29*i
while i
is the iteration in the range(0,101)
My Code:
mean = houses['SalePrice'].mean()
sampling_error = []
sample_range = []
for i in range(101):
sample_range.append(5+29*i)
sample = houses['SalePrice'].sample(5+29*i, random_state = i)
sample_mean = sample.mean()
sampling_error.append(mean - sample_mean)
plt.scatter(x = sample_range, y =sampling_error)
plt.axhline(y = 0)
plt.axvline(x = 2930)
plt.xlabel('Sample size')
plt.ylabel('Sampling error')
I know there are a lot of mathematics majors in this community, just thought I’d mention it.