精华内容
下载资源
问答
  • [转载]参数估计(matlab)

    2021-04-20 14:00:41
    参数估计包含两种常用方式: 点估计和区间估计.Matlab统计工具箱给出了常用概率分布中参数的点估计 (采用最大似然估计法) 与区间估计,另外还提供了部分分布的对数似然函数的计算功能.由于点估计中的矩估计法的实质是...

    参数估计包含两种常用方式: 点估计和区间估计.

    Matlab统计工具箱给出了常用概率分布中参数的点估计 (采用最大似然估计法) 与区间估计,

    另外还提供了部分分布的对数似然函数的计算功能.

    由于点估计中的矩估计法的实质是求与未知参数相应的样本的各阶矩, 统计工具箱提供了常用的求矩函数(见第一章),

    读者可根据需要选择合适的矩函数进行点估计.

    表2.1 统计工具箱中的参数估计函数 (fit / like)

    函数名称

    函数说明

    调用格式

    unifit

    均匀分布数据的参数点估计和区间估计

    [ahat,bhat,ACI,BCI] = unifit(X,alpha)

    expfit

    指数分布数据的参数点估计和区间估计

    [muhat,muci] = expfit(x,alpha)

    normfit

    正态分布数据的参数点估计和区间估计

    [muhat,sigmahat,muci,sigmaci]

    = normfit(X,alpha)

    binofit

    二项分布数据的参数点估计和区间估计

    [phat,pci] = binofit(x,n,alpha)

    poissfit

    泊松分布数据的参数点估计和区间估计

    [lambdahat,lambdaci]

    = poissfit(X,alpha)

    说明: 调用格式只罗列了其中的一种. 需另外说明的是:

    (1) unifit和normfit的格式与其它函数均不同, 此二者要求左边的输出变量必须将参数 或 分别列出.

    (2) binofit (x,n,alpha)根据试验成功的次数x和总的试验次数n, 对 中的p进行最大似然估计,

    同时返回置信度为100(1-alpha)%的置信区间pci.

    【例2-1】(书P692.3) 使用一测量仪器对同一值进行了12次独立测量, 其结果为 (单位:

    mm)

    232.50, 232.48, 232.15, 232.52, 232.53, 232.30, 232.48, 232.05, 232.45, 232.60, 232.47, 232.30

    试用矩法估计测量的真值和方差 (设仪器无系统误差).

    ·编写命令文件exercise2_3.m:

    %P66_2.3 mu与sigma^2的矩估计

    x=[232.50, 232.48, 232.15, 232.52, 232.53, 232.30,...

    232.48, 232.05, 232.45, 232.60, 232.47, 232.30];

    mu_ju=mean(x)

    sigma2_ju=var(x,1)

    ·运行命令文件exercise2_3.m:

    >> exercise2_3

    mu_ju = 232.4025

    sigma2_ju

    = 0.0255

    【例2-2】(书P692.22) 随机地从一批零件中抽取16个, 测得长度 (单位: cm) 为:

    2.14, 2.10, 2.13, 2.15, 2.13, 2.12, 2.13, 2.10,

    2.15, 2.12, 2.14, 2.10, 2.13, 2.11, 2.14, 2.11

    设零件长度的分布为正态的, 试求总体均值的90%的置信区间:

    (1)若

    (cm); (2) 若 未知.

    (1)·编写函数文件zestimate.m:

    %P69_2.22(1)sigma已知时mu的区间估计

    function muci=zestimate(x,sigma,alpha)

    n=length(x);

    xhat=mean(x);

    u_alpha=norminv(1-alpha/2,0,1);

    delta1=sigma/sqrt(n)*u_alpha;

    muci=[xhat-delta1,xhat+delta1];

    ·调用函数文件zestimate.m:

    >> x=[2.14, 2.10, 2.13, 2.15,

    2.13, 2.12, 2.13, 2.10, 2.15, 2.12, 2.14, 2.10, 2.13, 2.11, 2.14,

    2.11];

    >> sigma=0.01;

    >> alpha=0.1;

    >>

    muci=zestimate(x,sigma,alpha)

    muci = 2.1209 2.1291

    (2)·编写命令文件exercise2_22_2.m:

    %P69_2.22(1)sigma未知时mu的区间估计

    x=[2.14, 2.10, 2.13, 2.15, 2.13, 2.12, 2.13, 2.10, 2.15, 2.12,

    2.14, 2.10, 2.13, 2.11, 2.14, 2.11];

    alpha=0.1;

    [muhat,sigmahat,muci,sigmaci]= normfit(x,alpha);

    muci

    ·运行命令文件exercise2_22_2.m:

    >> exercise2_22_2

    muci = 2.1175 2.1325

    【例2-3】(书P66例2.31) 对一批产品, 欲通过抽样检查其合格率. 若产品不合格率在5%以下,

    则该批产品可出厂. 检验时要求结果具有0.95的置信水平. 今抽取产品100件, 发现不合格品有4件, 问这批产品能否出厂?

    >>

    [phat,pci]=binofit(4,100,0.05)

    phat = 0.0400

    pci = 0.0110 0.0993

    由于置信区间的上限超出了规定指标(不合格率在5%以下), 因此不能出厂.

    展开全文
  • 、抽样与参数估计

    千次阅读 2021-01-29 22:04:29
    令E代表所希望达到的估计误差,即: 据此可以推导出重复抽样或无限总体抽样条件下确定样本量的公式如下: 总结: 1、抽样分布是参数估计中的一个重要概念,是抽样估计的基础 抽样分布是指样本统计量的分布,样本均值...

    抽样与抽样分布

    一、概率抽样方法:

    随机抽样:从含有N个元素的总体中,抽取n个元素作为样本,使得每一个客量为n的样本都有相同的机会被抽中。
      重复抽样:从总体中抽取一个元素后,把这个元素放回到总体中再抽取第二个元素,直至抽取n个元素为止
    不重复抽样:一个元素被抽中后不再放回总体,然后再从剩下的元素中抽取第二个元素,直到抽取n个元素为止。
      分层抽样:在抽样之前先将总体的元素划分为若干层,然后从各层取一定数量的元素组成一个样本。
     分层:使层内各元素的差异尽可能小,层与层之间的差异尽可能大。
    优点:
      1、分层抽样除了可以对总体进行估计外,还可以对各层的子总体进行估计
      2、按自然区域或者行政区域进行分层,这样抽样的组织和实施都比较方便
      3、样本分布在各层内,从而使样本在总体的分布比较均匀
      4、分层抽样可以提高估计的精度
    eg:
      共有1500人,会计500人、金融350人、市场营销35人、营销管理30人、信息系统30人  抽取180作为样本
    180/1500*500
    350/1500*500
    ...
      系统抽样:先将总体各元素按某种顺序排列,并按某种规则确定一个随机起点,然后,每隔一定间隔抽取一个元素,直至抽取n元素形成一个样本。
      整体抽样:先将总体划分成若干群,然后以群作为抽样单位从中抽取部分群,在对抽中的各个群中所包含的所有元素进行观察。

    参数估计的基本原理:

    一、估计量和估计值:

    估计值:估计总体参数时计算出来的估计量的具体数值。
      估计量:用来估计总体参数的统计量的名称。

    二、点估计与区间估计:

    点估计:用样本估计量的值作为总体参数的估计量,样本平均值估计总体估计值;样本方差估计总体方差等。
      区间估计:在点的基础上,给出总体参数估计的一个范围。样本统计量加减抽样误差而得到的。在这里插入图片描述
      置信区间:由样本统计量所构造的总体参数的估计区间,其中区间最小值称为置信下限,最大值称为置信上限
      比如,由100个样本构造的总体参数的100个置信区间中,有95%的区间包含了总体参数的真值,而5%则没有包含,称95%这个值被称为置信水平
      置信水平/置信系数:将构造置信区间的步骤重复多次,置信区间中包含总体参数真值得次数所占得比率。

    在这里插入图片描述

    总体均值的区间估计

    估计误差:大样本(n>=30),小样本(n<30)。一是点估计量的标准误差,取决于样本统计量的抽样分布;二是置信水平为1-α时,统计量分布两侧面积各为α/2时的分位数值。因此,总体均值在1-α置信水平下的置信区间可表示:
       x±(分位数值*x-bar的标准误差)

    一、大样本的估计

    由中心极限定理,正态分布构建总体均值在1-α置信水平下的置信区间α是事先确定的概率值,它是总体均值不包括在置信区间的概率,
    在这里插入图片描述
      x表示样本的均值,z值表示有多少标准差,s 为样本的标准差。
      1.645–》 excel [NORM.S.INV] 正态分布函数值
      39.5 --》 excel [average] 均值
      7.77 --》excel [stdev] 标准差

    样本量的确定

    一、估计总体均值时样本量的确定

    总体均值的置信区间是由样本均值x和估计误差两部分组成的。在重复抽样或无限总体抽样条件下,估计误差为:
    在这里插入图片描述
      其中zα/2的值和样本n共同确定了估计误差的大小。当确定了置信水平1-α,zα/2的值就确定了。对于给定的zα/2的值和总体标准差σ,就可以确定任一希望的估计误差所需要的样本量。令E代表所希望达到的估计误差,即:
    在这里插入图片描述
      通过上式可以推导出确定样本量的公式如下
    在这里插入图片描述
    例:
    在这里插入图片描述

    二、估计总体比例时样本量的确定

    与估计总体均值时样本量确定的方法类似,在重复抽样或无限总体抽样条件下,估计总体比例置信区间的估计误差为:
    在这里插入图片描述
      由上式可知,zα/2的值、总体比例π和样本量n共同确定了估计误差的大小。令E代表所希望达到的估计误差,即:
    在这里插入图片描述
      据此可以推导出重复抽样或无限总体抽样条件下确定样本量的公式如下:
    n=(z)
    在这里插入图片描述

    总结:

    1、抽样分布是参数估计中的一个重要概念,是抽样估计的基础
      抽样分布是指样本统计量的分布,样本均值分布、样本比例分布
    2、参数估计的方法有点估计和区间估计
      区间估计是在点估计的基础上,给出总体参数的一个置信区间,并给出总体参数在这一区间的概率,实际应用区间估计
    3、总体均值的区间由样本均值x-bar和估计误差两部分组成
      ①当总体服从正态分布且方差已知,当我们从一个已知方差σ2 的正态分布总体中抽样时,总体均值μ的一个(1-α)%置信区间为:
    在这里插入图片描述
      ②大样本,样本方差未知,当我们从一个方差未知的正态分布总体中抽样且所抽取的样本是大样本时,总体均值μ的一个(1-α)%置信区间为:
    在这里插入图片描述
      ③总体方差未知,t分布(t-distribution)。如果我们从一个方差未知的总体中抽样并且满足下面两个条件之一时,
      i.样本是大样本;
      ii.样本是小样本但是总体服从正态分布,或者近似正态分布。
    那么,总体均值μ的一个(1-α)%置信区间为:
    在这里插入图片描述
      tα/2 的自由度数值为n-1,n是样本容量
    4、确定样本量,
      ①在估计总体均值时,样本量的确定公式是:
    在这里插入图片描述
      ②在估计总体比例时,样本量的确定公式是:

    在这里插入图片描述

    展开全文
  • 实验参数估计与非参数估计实验报告 1811377 李文浩 一、实验目的 通过本次实验实现机器学习中常用的参数估计和非参数估计的方法 使用编程加深对最大似然估计、最大后验概率估计等方法的认识 建立数据集学习...

    实验三:参数估计与非参数估计实验报告

    一、实验目的

    1. 通过本次实验实现机器学习中常用的参数估计和非参数估计的方法
    2. 使用编程加深对最大似然估计、最大后验概率估计等方法的认识
    3. 建立数据集学习使用python对多元数据进行操作

    二、代码框架

    • 本次实验使用的函数框架如下:

      1.Gaussian_function(x, mean, cov)
        #计算多维(这里是2维)样本数据的概率p(x|w),参数mean是已知的均值向量
        #cov是已知的协方差矩阵,x是样本数据
      2.Generate_Sample_Gaussian(mean, cov, P, label)
        #生成符合正态分布的数据,P是指的先验概率,label是类标签
      3.Generate_DataSet(mean, cov, P)
        #根据先验概率生成数据集
      4.Generate_DataSet_plot(mean, cov, P)
        #画出不同先验对应的散点图
      5.Likelihood_Test_Rule(X, mean, cov, P)
        #似然率测试规则
      6.Max_Posterior_Rule(X, mean, cov, P)
        #最大后验概率规则
      7.repeated_trials(mean, cov, P1, P2)
        #单次实验求不同准则下的分类误差
      

    三、代码详细说明

    • Gaussian_function(x, mean, cov)
      函数功能:计算p(x|w)

      def Gaussian_function(x, mean, cov):
          det_cov = np.linalg.det(cov)  # 计算方差矩阵的行列式
          inv_cov = np.linalg.inv(cov)  # 计算方差矩阵的逆
          #计算概率p(x|w)
          p = 1/(2*np.pi*np.sqrt(det_cov))*np.exp(-0.5 * 
          np.dot(np.dot((x - mean),inv_cov), (x - mean)))
          return p
      

      这里使用了如下的公式:
      在这里插入图片描述
      d是指的数据的维数,这里是2;
      Σ是指的协方差矩阵,这里是cov;
      μ是指的均值向量这里是mean

      np.linalg的三个函数:
      1.np.linalg.det() 求矩阵的行列式
      2.np.linalg.inv() 求矩阵的逆
      3.np.dot() 求两矩阵的乘积

    • Generate_Sample_Gaussian(mean, cov, P, label)
      函数功能:生成符合正态分布的数据,P是指的先验概率,label是类标签

      def Generate_Sample_Gaussian(mean, cov, P, label):
        '''
            mean 为均值向量
            cov 为方差矩阵a
            P 为单个类的先验概率
            return 单个类的数据集
        '''
        # round(x[,n=0]) 保留到几位小数
        temp_num = round(1000 * P)
        
        # 生成一个多元正态分布矩阵
        x, y = np.random.multivariate_normal(mean, cov, temp_num).T
      
        #x,y坐标,x和y矩阵均符合正态分布
        #z表示每个点属于哪一类
        z = np.ones(temp_num) * label
        X = np.array([x, y, z])
        
        #X.T中每个元素都是有三个元素的列表,分别表示x值,y值,以及对应的标签
        return X.T
      

      multivariate_normal(mean, cov, size=None, check_valid=None, tol=None)

      1.函数功能:生成一个多元正态分布矩阵
      2.mean:正态分布的均值向量
      3.cov:正态分布的协方差矩阵
      4.size:矩阵的大小(数量,维度)
      5.check_valid:如果cov不是半正定矩阵的处理方法,一共有三个值:warn(输出警告,仍出结果),raise(报错),ignore(或略错误)
      6.tol:检查协方差矩阵奇异值时的公差

    • Generate_DataSet(mean, cov, P)
      函数功能:根据先验概率生成数据集

        def Generate_DataSet(mean, cov, P):
            # 按照先验概率生成正态分布数据
            # 返回所有类的数据集
            X = []
            label = 1
            for i in range(3):
                # 把此时类i对应的数据集加到已有的数据集中
                X.extend(Generate_Sample_Gaussian(mean[i], cov, P[i], label))
                label += 1
                i = i + 1
            return X
      

      注意这里extend()append()的区别:
      1.append将括号中的参数作为一个元素添加到列表对象的后面,即便参数是一个列表也是同样
      2.extend将不是序列类型(list,dict,tuple)的参数作为一个元素添加到列表对象的后面,如果是序列类型的参数,就将序列和列表合并放在列表的后面

    • Generate_DataSet_plot(mean, cov, P)
      函数功能:画出不同先验对应的散点图

      def Generate_DataSet_plot(mean, cov, P):
          # 画出不同先验对应的散点图
          xx = []
          label = 1
          # 将xx变为包含三类数据的数据集
          for i in range(3):
              xx.append(Generate_Sample_Gaussian(mean[i], cov, P[i], label))
              label += 1
              i = i + 1
          #在这时xx是一个有三个元素的列表,每个元素都是一个类
          # 画图
          plt.figure()
          if P==[1 / 3, 1 / 3, 1 / 3]:
              plt.title("X1分布图")
          else:
              plt.title("X2分布图")
          for i in range(3):
          	#画出每类的样本向量(x,y)
              plt.plot(xx[i][:, 0], xx[i][:, 1], '.', markersize=4.)
              #画出每类的中心点(均值向量对应的点)
              plt.plot(mean[i][0], mean[i][1], 'r*')
          plt.show()#没有这句图像不显示
          return xx
      
    • Likelihood_Test_Rule(X, mean, cov, P)
      函数作用:使用似然率测试规则进行估计得准确率

      # 似然率测试规则
      def Likelihood_Test_Rule(X, mean, cov, P):
          class_num = mean.shape[0]  # 类的个数
          num = np.array(X).shape[0]
          error_rate = 0
          for i in range(num):
              p_temp = np.zeros(3)
              for j in range(class_num):
              	# 计算样本i决策到j类的概率
                  p_temp[j] = Gaussian_function(X[i][0:2], mean[j], cov)  
              p_class = np.argmax(p_temp) + 1  # 得到样本i决策到的类
              if p_class != X[i][2]:
                  error_rate += 1
          return round(error_rate / num , 3)
      

      这个函数分别计算数据集中的每个样本被决策到三个不同的类的概率p_temp,使用np.argmax()求出列表中值最大的元素的下标index,index+1即为我们决策出的结果p_class,用p_class和样本真正的类别X[i][2]比较,判断正确与否,计算准确率

    • Max_Posterior_Rule(X, mean, cov, P)
      函数功能:使用最大后验概率规则进行估计得准确率

      ##最大后验概率规则
      def Max_Posterior_Rule(X, mean, cov, P):
          class_num = mean.shape[0]  # 类的个数
          num = np.array(X).shape[0]
          error_rate = 0
          for i in range(num):
              p_temp = np.zeros(3)
              for j in range(class_num):
              	# 计算样本i是j类的后验概率
                  p_temp[j] =Gaussian_function(X[i][0:2],mean[j],cov)*P[j]
              p_class = np.argmax(p_temp) + 1  # 得到样本i分到的类
              if p_class != X[i][2]:
                  error_rate += 1
          return round(error_rate / num,3)
      

      基本思路和似然率测试规则是一样的,但这里计算概率的函数是P(x|w)*P[i]

    • repeated_trials(mean, cov, P1, P2)
      函数功能:单次实验求不同准则下的分类误差

      # 单次试验求不同准则下的分类误差
      def repeated_trials(mean, cov, P1, P2):
          # 根据mean,cov,P1,P2生成数据集X1,X2
          # 通过不同规则得到不同分类错误率并返回
          # 生成N=1000的数据集
          X1 = Generate_DataSet(mean, cov, P1)
          X2 = Generate_DataSet(mean, cov, P2)
          error = np.zeros((2, 2))
          # 计算似然率测试规则误差
          error_likelihood = Likelihood_Test_Rule(X1, mean, cov, P1)
          error_likelihood_2 = Likelihood_Test_Rule(X2, mean, cov, P2)
          error[0] = [error_likelihood, error_likelihood_2]
          # 计算最大后验概率规则误差
          error_Max_Posterior_Rule = Max_Posterior_Rule(X1, mean, cov, P1)
          error_Max_Posterior_Rule_2 = Max_Posterior_Rule(X2, mean, cov, P2)
          error[1] = [error_Max_Posterior_Rule, error_Max_Posterior_Rule_2]
          return error
      

      分别生成两组数据集,分别对这两个数据集进行不同规则下的分类误差分析,将结果存在error中并返回

    四、实验步骤

    1.基本要求

    在两个数据集合上分别应⽤“似然率测试规则” 、“最⼤后验概率规则” 进⾏分类实验,计算分类错误率,分析实验结果。
    在这里插入图片描述

    • 1.根据题设设置我们所需要用到的参数

          mean = np.array([[1, 1], [4, 4], [8, 1]])  # 均值数组
          cov = [[2, 0], [0, 2]]  # 协方差矩阵
          num = 1000  # 样本个数
          P1 = [1 / 3, 1 / 3, 1 / 3]  # 样本X1的先验概率
          P2 = [0.6, 0.3, 0.1]  # 样本X2的先验概率
      
    • 2.绘制散点图,观察样本分布

          Generate_DataSet_plot(mean, cov, P1)  # 画X1数据集散点图
          Generate_DataSet_plot(mean, cov, P2)  # 画X2数据散点图
      

      结果如下:
      在这里插入图片描述在这里插入图片描述

    • 3.进行十次试验观察试验结果

          # 计算十次运算的总误差
          error_all = np.zeros((2, 2))
          # 测试times_num次求平均
          times_num = 10
          for times in range(times_num):
              error=repeated_trials(mean,cov,P1,P2)
              print("第{}次试验: 极似然规则 最大后验规则".format(times+1))
              print("X1误差:   \t{}  \t{}".format(error[0][0],error[1][0]))
              print("X2误差:   \t{}  \t{}".format(error[0][1], error[1][1]))
              error_all += error
          # 计算平均误差
          error_ave = np.around(error_all / times_num,4)
          print("平均误差:  极似然规则   最大后验规则")
          print("X1误差:  \t{}   \t{}".format(error_ave[0][0],error_ave[1][0]))
          print("X2误差:  \t{}   \t{}".format(error_ave[0][1],error_ave[1][1]))
      

      结果如下
      在这里插入图片描述   在这里插入图片描述
      分析试验结果:

      1.当每个类的先验概率P相同或差别不大时,及似然率测试规则和最大后验概率规则分类结果相差不大
      2.当先验概率相差较大时,及似然率规则更好一些

    展开全文
  • AR模型的参数估计

    千次阅读 2021-04-21 10:51:41
    AR模型的参数估计一、AR模型概述AR模型属于随机信号参数模型的一种。在AR模型中,随机信号x(n)由本身的若干次过去值x(n−k)和当前的激励值w(n)线性组合产生。x ( n ) = w ( n ) − ∑ k = 1 p a k x ( n − k ) (1) ...

    AR模型的参数估计

    一、AR模型概述

    AR模型属于随机信号参数模型的一种。在AR模型中,随机信号x(n)由本身的若干次过去值x(n−k)和当前的激励值w(n)线性组合产生。

    x ( n ) = w ( n ) − ∑ k = 1 p a k x ( n − k ) (1) x(n) = w(n) − \sum_{k=1}^{p} a_k x(n − k ) \tag{1}x(n)=w(n)−k=1∑p​ak​x(n−k)(1)

    该模型的系统函数:

    H ( z ) = 1 1 + ∑ k = 1 p a k z − k (2) H(z)=\frac{1}{1+\sum_{k=1}^{p} a_k z^{-k}}\tag{2}H(z)=1+∑k=1p​ak​z−k1​(2)

    p是系统阶数,系统函数中只有极点,无零点,也称为全极点模型,系统由于极点的原因,

    要考虑到系统的稳定性,因而要注意极点的分布位置,用 AR(p)来表示。

    信号的现代建模方法(Modern modeling method for signal)是建立在具有最大的不确定性基础上的预测。提出了众多的数学模型( mathematical models)。根据 Wold 的证明:任何 平稳的 ARMA(自回归移动平均)模型或 MA 模型均可用无限阶或阶数足够的 AR 模型去 近似。因此本节着重介绍 AR 模型的基本原理和方法。

    二、AR模型的参数估计

    1. AR模型参数与自相关函数的关系

    1.1 推导过程

    e0a38e257f2bf9458cbb8130592c679a.png

    1.2 举例说明

    【例 1】已知自回归信号模型 AR(3)为:

    x ( n ) = 14 24 x ( n − 1 ) + 9 24 x ( n − 2 ) − 1 24 x ( n − 3 ) + w ( n ) x(n)=\frac{14}{24}x(n-1)+\frac{9}{24}x(n-2)-\frac{1}{24}x(n-3)+w(n)x(n)=2414​x(n−1)+249​x(n−2)−241​x(n−3)+w(n)

    式中 w( n ) 是具有方差σ w 2 = 1 σ_{w}^2 =1σw2​=1 的平稳白噪声,求

    a.自相关序列 R x x ( m ) Rxx (m)Rxx(m) ,m=0,1,2,3,4,5。

    b.用 a 求出的自相关序列来估计 AR(3)的参数 a ^ k \hat a_ka^k​,以及输入白噪声的方差σ w 2 = 1 σ_{w}^2 =1σw2​=1 大小。

    c.利用给出的 AR 模型,用计算机仿真给出 32 点观测值

    x(n)=[0.4282 1.1454

    1.5597 1.8994 1.6854 2.3075 2.4679 1.9790 1.6063 1.2804

    -0.2083 0.0577 0.0206 0.3572 1.6572 0.7488 1.6666 1.9830

    2.6914 1.2521 1.8691 1.6855 0.6242 0.1763 1.3490 0.6955

    1.2941 1.0475 0.4319 0.0312 0.5802 -0.6177],用观测值的自相关序

    列直接来估计 AR(3)的参数a ^ k {\hat a_k}a^k​ 以及输入白噪声的 σ w 2 σ_w^2σw2​ 。

    1.2.1 自相关序列 R x x ( m ) R_{xx}(m)Rxx​(m) ,m=0,1,2,3,4,5。

    fc2fad00c69dd5eb613e3a08ba995845.png

    解得:

    Rxx(m) =

    4.9377

    4.3287

    4.1964

    3.8654

    3.6481

    3.4027

    1.2.2 已知自相关序列值,来估计 3 阶 AR 模型的参数 {a_k} 以及 σ w 2 σ_{w}^2σw2​

    0546ee591a6fd21d9b27ddcc41907f38.png

    1.2.3 利用给出的 32 点观测值,求自相关序列

    clear; clc;

    xn = [0.4282 1.1454 1.5597 1.8994 1.6854 2.3075 2.4679 1.9790...

    1.6063 1.2804 -0.2083 0.0577 0.0206 0.3572 1.6572 0.7488...

    1.6666 1.9830 2.6914 1.2521 1.8691 1.6855 0.6242 0.1763...

    1.3490 0.6955 1.2941 1.0475 0.4319 0.0312 0.5802 -0.6177];

    Rxx_2 = xcorr(xn) ./ length(xn);

    Rxx_2 = Rxx_2(length(xn) : end)

    结果:

    Rxx_2 =

    1.9271 1.6618 1.5381 1.3545 1.1349 0.9060 0.8673 0.7520

    0.7637 0.8058 0.8497 0.8761 0.9608 0.8859 0.7868 0.7445

    0.6830 0.5808 0.5622 0.5134 0.4301 0.3998 0.3050 0.2550

    0.1997 0.1282 0.0637 0.0329 -0.0015 -0.0089 -0.0143 -0.0083

    把头 4 个相关序列值代入矩阵求得的估计值与真实 AR 模型参数误差为: e 1 e_1e1​=0.1151,e 2 e_2e2​=0.1002,e 3 e_3e3​=0.0498,原因在于我们只有一部分的观测数据,使得自相关序列值与理想的完全不同。输入信号的方差误差比较大: e σ e_\sigmaeσ​=0.5322,造成的原因比较多,计算机仿真的白噪声由于只有 32 点长,32 点序列的方差不可能刚好等于 1。给出一段观测值求 AR 模型参数这样直接解方程组,当阶数越高时直接解方程组计算就越复杂,因而要用特殊的算法使得计算量减小且精确度高。

    2. Y-W 方程的解法——L-D 算法

    2.1 准备工作

    在求解上述例子时要得到更精确的估计值,就要建立更高阶的 AR 模型,直接用观测值的自相关序列来求解 Y-W 方程计算量太大。因此把 AR 模型和预测系统联系起来,换个方法来估计 AR 参数。

    从 AR 模型的时域表达式:

    x ( n ) = w ( n ) − ∑ k = 1 p a k x ( n − k ) x(n) = w(n) − \sum_{k=1}^{p} a_k x(n − k )x(n)=w(n)−k=1∑p​ak​x(n−k)我们知道模型的当前输出值与它过去的输出值有关。预测是推断一个给定序列的未来值,即利用信号前后的相关性来估计未来的信号值。

    若序列的模型已知而用过去观测的数据来推求现在和将来的数据称为前向预测器,表示:

    x ^ ( n ) = − ∑ k = 1 m a m ( k ) x ( n − k ) (3) \hat x(n) =− \sum_{k=1}^{m} a_m (k)x(n − k )\tag{3}x^(n)=−k=1∑m​am​(k)x(n−k)(3)

    其中a ( k ) {a_(k)}a(​k),k=1,2,⋯,m{a(k)},表示m阶预测器的预测系数,负号是为了与技术文献保持一致。显然预测出来的结果与真实的结果存在预测误差(或前向预测误差),设误差为e ( n ) e(n)e(n):

    e ( n ) = x ( n ) − x ^ ( n ) = x ( n ) + ∑ k = 1 m a m ( k ) x ( n − k ) (4) e(n)=x(n)-\hat x(n)=x(n)+\sum_{k=1}^{m} a_m (k)x(n − k )\tag{4}e(n)=x(n)−x^(n)=x(n)+k=1∑m​am​(k)x(n−k)(4)

    把e(n)看成是系统的输出, x(n)看成是系统的输入,得到系统函数:

    E ( z ) X ( z ) = 1 + ∑ k = 1 m a m ( k ) z − k (5) \frac {E(z)}{X(z)}=1+\sum_{k=1}^{m} a_m (k)z^{-k}\tag{5}X(z)E(z)​=1+k=1∑m​am​(k)z−k(5)

    设m=p,且预测系数和 AR 模型参数相同,比较式(1)和式(5),把预测误差系统框图和 AR 模型框图给出:

    3287e7d693099cc1b0193612e5a296ad.png

    即有 w ( n ) = e ( n ) w(n)=e(n)w(n)=e(n) ,即前向预测误差系统中的输入为x(n) ,输出为预测误差e(n) 等于白噪声。也就是说前向预测误差系统对观测信号起了白化的作用。由于 AR 模型和前向预测误差系统有着密切的关系,两者的系统函数互为倒数,所以求 AR 模型参数就可以通过求预测误差系统的预测系数来实现。

    2.2 使用L-D算法估计AR模型参数

    cb3717a747a31b501bf5a2a4895039ba.png

    经过一系列推导,可以得到预测系数和均方误差估计的通式:

    6e7f0048692e76907d3729a9e737e7de.png

    其中 a m ( m ) a_m (m)am​(m)称为反射系数, 从上式知道整个迭代过程需要已知自相关函数, 给定初始值 E 0 = R ( 0 ) , a 0 ( 0 ) = 1 E_0 = R(0) , a_0 (0) = 1E0​=R(0),a0​(0)=1 ,以及 AR 模型的阶数 p ,就可以按照如下所示流程图进行估计:

    a46e022119af504b5a4640b120ae0102.png

    2.3 L-D算法的特点

    优点:

    计算速度快

    求得的AR模型必定稳定

    且均方预测误差随着阶次的增加而减小

    缺点:

    有较大误差(原因:在求自相关序列时,假设是除了观测值之外的数据均为0)

    2.4 L-D算法的Matlab实现

    ab48b332cafd2304a51be72b44dfa4d6.png

    x_n = [0.4282 1.1454 1.5597 1.8994 1.6854 2.3075 2.4679 1.9790 1.6063 1.2804 -0.2083 0.0577 0.0206 0.3572 1.6572 0.7488 1.6666 1.9830 2.6914 1.2521 1.8691 1.6855 0.6242 0.1763 1.3490 0.6955 1.2941 1.0475 0.4319 0.0312 0.5802 -0.6177];

    R_xx = zeros( 1, length(x_n) );

    %Matlab从1开始计数,本例中所有下标为0的元素全部改为1计算,之后的元素同理顺延

    %步骤1:求自相关序列

    for m = 0 : length(x_n) - 1

    i = 1;

    while m + i <= length(x_n)

    R_xx(m+1) = R_xx(m+1) + x_n(i) * x_n(i + m );

    i = i + 1;

    end

    R_xx(m+1) = R_xx(m+1) / 32;

    end

    %步骤2:初始化

    p = 4;

    E = zeros(1, p);

    E(1) = R_xx(1);

    a = zeros(p, 3);

    a(1 , 1) = 1;

    a2=zeros(1,3);

    %步骤3:计算

    for m = 1:p-1

    %计算a(m+1,m)

    a( m + 1, m ) = R_xx(m + 1);

    for k = 1:( m - 1 )

    a( m + 1, m ) = a( m + 1, m ) + a( m, k ) * R_xx( m + 1 - k );

    end

    a( m + 1, m ) = - a( m + 1, m ) / E(m);

    %计算a(m+1,k)

    for k = 1:(m - 1)

    a( m + 1, k ) = a( m, k ) + a( m + 1, m ) * a( m, m - k );

    end

    %计算E

    E( m + 1 ) = ( 1 - a( m + 1, m ).^2 ) * E(m);

    end

    for k=1:3

    a2(k)=a(4,k);

    end

    所得结果:

    7649b0abddfb975d427af2bf52c0f521.png

    84160756872115604292101e756b4ee9.png

    和例1的c结果一致,误差分析也一样。因此当计算阶数较高时,可以用递推程序实现。

    Matlab 有专门的函数实现 L-D 算法的 AR 模型参数估计:[a E]=aryule(x,p),输入 x表示观测信号,输入 p 表示要求的阶数,输出 a 表示估计的模型参数,e 表示噪声信号的方差估计。例如本题用该函数计算结果为:

    [a, E]=aryule(x_n,p);

    a =1.0000 -0.6984 -0.2748 0.0915

    E = 0.4678

    假如我们用更高阶的 AR 模型来估计:

    [a E]=aryule(x,12)

    a =1.0000 -0.6703 -0.3254 -0.0793 0.1407 0.3676 -0.2451 0.0483

    -0.0912 -0.0522 0.0515 0.0186 -0.0955

    E =0.3783

    阶数越高均方误差越来越小。

    三、AR 模型参数估计的各种算法的比较和阶数的选择

    3.1 Burg算法

    为了克服L-D算法导致的误差,1968年Burg提出了Burg算法,其基本思想是对观测的数据进行前向和后向预测,然后让两者的均方误差之和为最小作为估计的准则估计处反射系数,进而通过L-D算法的递推公式求出AR模型参数。Burg算法的优点是,求得的AR模型是稳定的,较高的计算效率,但递推还是用的L-D算法,因此仍然存在明显的缺点。

    MATLAB中也有专门的函数来实现Burg算法的AR模型参数估计:[a E] = arburg(x_n, p),例如上面例题中用Burg算法计算结果为:

    p=3:

    [a E]=arburg(x,3)

    a =1.0000 -0.6982 -0.2626 0.0739

    E =0.4567

    p=12:

    [a E]=arburg(x,12)

    a =1.0000 -0.6495 -0.3066 -0.0934 0.0987 0.4076 -0.1786 -0.0126

    -0.0805 -0.0899 0.0382 0.1628 -0.2501

    E =0.3237

    与L-D算法的结果略有不同,Burg算法略微更精确些。

    3.2 Marple与FPE

    c90e42a2857efdbd89dde8a016d202eb.png

    展开全文
  • 参数估计

    千次阅读 2020-12-25 22:24:51
    出发点:我们以前在参数估计中都是先假设样本点的分布有一个概率密度函数形式,比如高斯分布,然后从样本中估计参数。但是,有可能根本不是,所以也有非参数法研究的必要,比如我们中学就学过频率分布直方图,但是...
  • 参数估计之矩估计

    2021-01-15 09:12:07
    介绍参数估计中点估计的常用方法:矩估计法。并通过例题加深理解
  • 在机器学习的参数估计(学习)中,常见种更新方法:梯度下降,极大似然,EM算法;它们的本质目的均是让模型更好地拟合目标分布;在学习种算法的联系前,需要先了解牛顿法; 牛顿法迭代 先从经典的牛顿法开始,...
  • 点击上方“3D视觉工坊”,选择“星标”干货第一时间送达在维重建中,标定是很重要的一环,而在所有标定中,单目相机标定是最基础的,对于新手而言,跑通了一个相机标定代码,得到了一堆参数结果,...
  • 本发明属于信号处理技术领域,具体涉及一种广义帕累托分布参数估计方法,可用于海杂波背景下的目标检测。背景技术:海杂波背景下的目标检测技术是雷达应用技术中一个至关重要的研究方向,在军事和民用领域已经得到...
  • 。 n-2是自由度
  • 机器学习中几种主要参数估计方法的介绍
  • 参数估计方法 概率与统计: 概率:已知模型和参数,推数据结果出现的概率 统计:已知诸多结果,通过结果推概率分布(概率、参数、模型) 比如,我们现在要抛一个硬币,结果会是正面或者反面。我们可以把这个过程,...
  • Abstract:ARMAX model is a very important model in practice. It has been used for describing the stochastic processes extensively. It represents the general form for popular time-series and digital-fil...
  • 数理统计的基本知识 1.首先看看四种典型的分布图 正态分布 T分布 卡方分布 F分布: 2.分布图的典型指标 ...· 点估计:买一张,这就相当于你猜测这一张会中奖(直接用样本统计量来估计总体参数值) · 区间估计
  • 仿射变换 (Affine transform) 参数估计方法 最近一个机器视觉课题中的一个小问题。两幅图像中各有一些特征点,我们分别称为 (xi,yi)(x_i, y_i)(xi​,yi​) 和 (ui,vi)(u_i, v_i)(ui​,vi​)。这两组特征点可以由坐标...
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GvcLzAsA-1638069541762)(1 参数估计.assets/image-20211128100940580.png)] 1.2 对数运算法则 log⁡a(MN)=log⁡aM+log⁡aNlog⁡a(M/N)=log...
  • bootstrap可以用来估计样本中任何函数(np.mean,st.genextreme.fit,等等)的置信区间,并且有一个Python库:^{}。在以下是作者相关问题question中的数据:import numpy as np, scipy.stats as st, scikits.bootstrap...
  • factpca{if(!is.matrix(x)){x}zpif(p&...3){stop("factor analysis requires at least three variables")}creigs=sum(eig$values)tmp=0.0flag=0for(i in 1:length(eig$values)){tmp=tmp+eig$values[i]flag=iif(tmp/s...
  • 下图展示了线性回归模型对约束条件的要求,如满足以上约束条件,我们就可以采用最小二乘法完成参数估计,并进行建模分析了。 图1 线性回归模型参数约束条件 (二)Tobit模型 对于评分卡模型,模型因变量多为分类问题...
  • 道题的分析与代码实现 实验值与理论值的比较 完整代码附录 题目 1利用均匀分布U[-1,1],使用中心极限定理产生正态分布的随机数1000个,其中每次用来产生正态分布随机数的均匀分布样本容量个数 ≥ 50...
  • 大体上还是遵循着贝叶斯决策论,主要有两个非参数估计的方向: 从训练样本中估计类条件概率密度:p(x∣ωi)p(\textbf{x}|\omega_i)p(x∣ωi​) 直接估计后验概率:P(ωj∣x)P(\omega_j|\textbf{x
  • 文章目录一 参数估计二 最大似然估计2.1 参数分量2.2 基本原理2.3 高斯情况2.3.1 协方差矩阵Σ\SigmaΣ已知,而均值μ\muμ未知2.3.2 协方差矩阵Σ\SigmaΣ和均值μ\muμ都未知 贝叶斯估计3.1 基本原理3.2 高斯...
  • 卡尔曼滤波公式参数详解

    千次阅读 2020-12-23 19:53:26
    3.参数详解 一.卡尔曼滤波介绍 卡尔曼滤波是对输入线性系统的观测值进行最优估计的一种递归算法,在数据融合、滤波、预测等方面具有广泛的应用。我们无法建立一个完美的模型来消除系统的不确定因素,这些不确定性...
  • 参数估计(基于R)

    2021-10-21 18:18:24
    首先,参数估计是指用样本统计量去估计总体的参数,参数估计的方法有点估计和区间估计。 点估计是用估计量的某个取值来直接作为总体参数的取值,比如用样本均值作为总体均值,样本方差作为总体方差,但点估计无法...
  • 问题描述 1. 最大似然估计 2. 贝叶斯参数估计 3. 顺序(sequential)贝叶斯学习
  • 这些词霸,百度上我都能查到就是 不...弯曲部分 3. (线或面的)弯曲程度 4. 【数学】曲率;曲度 5. 【医学】弯,曲 camber ['k?mb?] n. 1. (道路、甲板、木.surface curvature[英][?s?:fis ?k?:v??t???][美][?s?f?...
  • 最大似然参数估计的求解 前导知识:【最大似然参数估计的基本原理】 回顾一下似然函数公式: l(θ)=ρ(X∣θ)=ρ(x1,x2,...,xN∣θ)=∏i=1Nρ(xi∣θ)(1) l(\theta)=\rho(X|\theta)=\rho(x_1,x_2,...,x_N|\theta)=\...
  • structure from motion,运动恢复结构,1985年由Hartley等人提出,从图像序列中恢复场景或对象的结构信息。开源的sfm可以参考...从投影矩阵到投影过程,参数初始估计、到最后的最小化重投影误差。SfM无需标定的解析
  • R语言参数估计课后习题 实在不知道参数估计该看什么了,做一下习题叭,本书是薛毅版的统计建模与R语言。 第一题见这条博客https://blog.csdn.net/qq_47876527/article/details/111663535,里面有写。 2 首先,观察...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 78,647
精华内容 31,458
关键字:

参数估计的三组公式