Frederick

Welcome to my Alter Ego's site!

Feb 24, 2025 - 3 minute read - Comments

数理统计

总体: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

ctfshow通关 逆向小白

comments powered by Disqus