总体:X
个体:Xi
样本:(X1,X2,…….Xn)随机变量
样本值:n个独立样本的一次实现(x1,x2,…….xn)具体的数
随机抽样:无放回:近似独立同分布,n/N<1,放回:独立分布
当n/N很小时,可将无放回看作有放回抽样
$$ proof: $$分层抽样:不独立
分群抽样
非参数统计,非参数估计,核密度估计,非参数假设检验
非参数统计方法无需假定总体分布,可以通过样本信息来推断总体,而参数统计则需要已知或假定总体分布。因此较参数统计(即一般意义下的数理统计),非参数统计适用面更广。但非参数统计推断的准确度较低。应注意的是非参数统计只是不依赖总体分布,但有些统计量的信息还是需要知道,并且研究的对象依旧是反映总体特征的统计量。
描述样本的中心化趋势
均值,可能会带来失帧
中位数,样本从小到大排序的次序统计量的中间值
众数
变量的度量
为什么计算样本方差分母是n-1?
极差,总体/样本方差,标准差
分位数
- 百分位数,计算i=n*(p/100)
若i为整数,q(p)=(x[i]+x[i+1])/2
若i不为整数q(p)=x[i]+1
- 四分位数
Box-Whisker图
箱线图是一种基于 五个数字摘要显示数据集的标准化方式:最小值、最大值、样本中位数以及第一和第三个四分位数。
- Minimum (*Q*0 or 0th percentile): the lowest data point in the data set excluding any outliers ** 最小值(*Q*0 或第 0 个百分位数):**数据集中不包括任何异常值的最低数据点
- Maximum (*Q*4 or 100th percentile): the highest data point in the data set excluding any outliers ** 最大值(*Q*4 或第 100 个百分位数):**数据集中不包括任何异常值的最高数据点
- Median (*Q*2 or 50th percentile): the middle value in the data set ** 中位数(*Q*2 或第 50 个百分位数):**数据集中的中间值
- First quartile (*Q*1 or 25th percentile): also known as the lower quartile q**n(0.25), it is the median of the lower half of the dataset. 第一四分位数(*Q*1 或第 25 个百分位数):也称为*下四分位数qn*(0.25),它是数据集下半部分的中位数。
- Third quartile (*Q*3 or 75th percentile): also known as the upper quartile q**n(0.75), it is the median of the upper half of the dataset.[ 7] 第三个四分位数(*Q*3 或第 75 个百分位数):也称为*上四分位数qn*(0.75),它是数据集上半部分的中位数。[ 7]
数据分析推断前期:可视化!
样本方差
def calculate_mean(numbers):
s=sum(numbers)
N=len(numbers)
#calculate the mean
mean = s/N
return mean
def find_diff(numbers):
#find the mean
mean=calculate_mean(numbers)
diff=[]
for i in numbers:
diff.append(num-mean)
return diff
def calculate_variance(numbers):
diff = find_diff(numbers)
squ=[]
for i in diff:
squ.append(i**2)
variance=sum(squ)/N-1
return variance
样本矩
ak
bk
样本偏度
样本蜂度
有无中心对称,左偏or右偏分布?看尾巴在哪一侧
def calculate_ak(numbers,k):
N=len(numbers)
ak=[]
for i in numbers:
ak.append(i**k)
return ak
def calculate_bk(numbers,k):
N=len(numbers)
bk=[]
find_diff=0
mean=calculate_mean(numbers)
for i in numbers:
find_diff+=((i-mean)**k)
return find_diff/N
def yangben_piandu(numbers):
return calculate_bk(numbers,3)/(calculate_bk(numbers,2)**1.5)
def yangben_fengdu(numbers):
return (calculate_bk(numbers,4)/(calculate_bk(numbers,2)**2)) -3
次序统计量
def order_statistics(numbers):
if k<1 or k>len(numbers):
return ValueError("")
else:
sorted_numbers=sorted(numbers)
return sorted_numbers
设总体X~U(0,1),则第k个次序统计量的密度函数
样本p分位数
def is_integer(n,p):
return isinstance(n*p,int)
def calculate_p(numbers,n,p):
N=len(numbers)
numbers.sort()
if is_integer:
return numbers[n*p+1]
else:
return (numbers[n*p]+numbers[n*p+1])/2
三大抽样分布
统计量的构造
def fenbu1(numbers):
k2=0
for i in len(numbers):
k2 += numbers[i]**2
return k2
def fenbu2(numbers1,numbers2):
F=0
N1=len(numbers1)
N2=len(numbers2)
a=fenbu1(numbers1)/N1
b=fenbu2(numbers2)/N2
F=a/b
return F