• 数学建模算法与应用 数理统计


    习题

    习题7.1

      从一批灯泡中随机地取5只作寿命试验,测得寿命(单位:h)为 [ 1050 , 1100 , 1120 , 1250 , 1280 ] [1050,1100,1120,1250,1280] [1050,1100,1120,1250,1280],设灯泡寿命服从正态分布。求灯泡寿命平均值的置信水平为0.90的置信区间

    算法设计

    • 这个地方关于python的实现我还没有找到,但是在探索的过程中发现MATLAB与python的std()函数得到的结果不一样,是因为MATLAB默认求解样本标准差,而np.std()默认求解总体标准差,所以需要添加参数np.std(x,ddof = 1)才能切换为样本标准差
    clc,clear
    x = [1050,1100,1120,1250,1280];
    n = length(x);
    alpha = 0.10;
    % 计算alpha/2分位数
    Ta = tinv(1-alpha/2,n-1)
    % 拟合正态分布参数(mu,sigma)
    pd = fitdist(x,'Normal')
    % ci第一列为均值置信区间,第二列为标准差置信区间
    ci = paramci(pd,'Alpha',alpha)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    习题7.2

      某车间生产滚珠,随机地抽出了50粒,测得它们的直径为(单位:mm):
    15.0    15.8    15.2    15.1    15.9    14.7    14.8    15.5    15.6    15.3 15.1    15.3    15.0    15.6    15.7    14.8    14.5    14.2    14.9    14.9 15.2    15.0    15.3    15.6    15.1    14.9    14.2    14.6    15.8    15.2 15.9    15.2    15.0    14.9    14.8    14.5    15.1    15.5    15.5    15.1 15.1    15.0    15.3    14.7    14.5    15.5    15.0    14.7    14.6    14.2 15.0\ \ 15.8\ \ 15.2\ \ 15.1\ \ 15.9\ \ 14.7\ \ 14.8\ \ 15.5\ \ 15.6\ \ 15.3\\ 15.1\ \ 15.3\ \ 15.0\ \ 15.6\ \ 15.7\ \ 14.8\ \ 14.5\ \ 14.2\ \ 14.9\ \ 14.9\\ 15.2\ \ 15.0\ \ 15.3\ \ 15.6\ \ 15.1\ \ 14.9\ \ 14.2\ \ 14.6\ \ 15.8\ \ 15.2\\ 15.9\ \ 15.2\ \ 15.0\ \ 14.9\ \ 14.8\ \ 14.5\ \ 15.1\ \ 15.5\ \ 15.5\ \ 15.1\\ 15.1\ \ 15.0\ \ 15.3\ \ 14.7\ \ 14.5\ \ 15.5\ \ 15.0\ \ 14.7\ \ 14.6\ \ 14.2\\ 15.0  15.8  15.2  15.1  15.9  14.7  14.8  15.5  15.6  15.315.1  15.3  15.0  15.6  15.7  14.8  14.5  14.2  14.9  14.915.2  15.0  15.3  15.6  15.1  14.9  14.2  14.6  15.8  15.215.9  15.2  15.0  14.9  14.8  14.5  15.1  15.5  15.5  15.115.1  15.0  15.3  14.7  14.5  15.5  15.0  14.7  14.6  14.2

    算法设计

    • 检验假设 H 0 H_0 H0:滚珠直径 X ∼ N ( 15.0780 , 0.432 5 2 ) X \sim N(15.0780,0.4325^2) XN(15.0780,0.43252)
    clc,clear
    a = readmatrix('data7_2.txt');
    x = a(:);
    pd = fitdist(x,'Normal');
    [h,p1,st] = chi2gof(xm,'cdf',pd,'Nparam',2)
    ed = st.edges;
    ed(1) = -inf;
    end(end) = inf;
    % 计算各个区间的概率
    p2 = diff(cdf(pd,ed))
    % 计算上alpha分位数
    k2 = chi2inv(0.95,st.df)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    习题7.3

      按分位数法求灯泡寿命平均值的置信水平为0.90的Bootstrap置信区间。

    算法设计

    clc,clear
    % 固定随机数种子
    x = [1050,1100,1120,1250,1280]';
    % 计算均值的置信区间
    mu = bootci(10000,{@(x)mean(x),x},'alpha',0.1)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    习题7.4

      设有如表所列的3个组5年保险理赔的观测数据。试用方差分析法检验3个组的理赔额均值是否有显著差异(取显著性水平$ \alpha = 0.05 , 已 知 ,已知 F_{0.05}(2,12) = 3.8853$)

    t = 1 t = 1 t=1 t = 2 t = 2 t=2 t = 3 t = 3 t=3 t = 4 t = 4 t=4 t = 5 t = 5 t=5
    j = 1 j = 1 j=1989310392110
    j = 2 j = 2 j=210010811899111
    j = 3 j = 3 j=3129140108105115

    算法设计

    • X j t X_{jt} Xjt表示第 j j j组第 t t t年的理赔额,其中 j = 1 , 2 , 3 , t = 1 , 2 , ⋯   , 5 j = 1,2,3,t = 1,2,\cdots,5 j=1,2,3,t=1,2,,5。假设所有的 X j t X_{jt} Xjt相互独立且服从 N ( μ j , σ 2 ) N(\mu_{j},\sigma^2) N(μj,σ2)分布,即对应于每组均值 m j m_{j} mj可能不相等,但是方差 σ 2 > 0 \sigma^2 > 0 σ2>0是相同的
    • 提出原假设 H 0 : μ 1 = μ 2 = μ 3 , H 1 : μ 1 , μ 2 , μ 3 H_{0}:\mu_1 = \mu_2 = \mu_3,H_1:\mu_1,\mu_2,\mu_3 H0:μ1=μ2=μ3,H1:μ1,μ2,μ3不全相等
    clc,clear
    a = readmatrix('data7_4.txt')
    [p,t,st] = anoval(a')
    
    • 1
    • 2
    • 3

    习题7.5

      某种半成品在生产过程中的废品率 y y y与它所含的某种化学成分 x x x有关,现将试验所得的8组数据记录如表。试求回归方程 y = a 1 x + a 2 + a 3 x + a 4 x 2 y = \frac{a_1}{x} + a_2 +a_3x + a_4x^2 y=xa1+a2+a3x+a4x2

    序号12345678
    x x x124578910
    y y y1.310.90.810.70.60.550.4

    算法设计

    • 利用python中scipy包求解
    from scipy.optimize import curve_fit
    def fx(x,a1,a2,a3,a4):
        return a1/x + a2 + a3 * x + a4 * x ** 2
    x = [1,2,4,5,7,8,9,10]
    y = [1.3,1,0.9,0.81,0.7,0.6,0.55,0.4]
    popt, pcov = curve_fit(fx, x, y)
    popt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    输出

    array([ 0.64983455,  0.59007412,  0.06658214, -0.00912294])
    
    • 1

    习题7.6

      人的身高与腿长有密切关系,现测得13名成年男子身高 y y y与腿长 x x x数据见表。试建立人的升高 y y y和腿长 x x x之间的一元线性回归模型。

    x x x92959696.59798101103.5104105106107109
    y y y163165167168171170172174176176177177181

    算法设计

    from sklearn.linear_model import LinearRegression
    from sklearn.metrics import mean_squared_error
    
    # 导入数据
    a = np.loadtxt('C:/Users/lenovo/Desktop/data7_6.txt')
    x = a[0,:]
    y = a[1,:]
    # 构建线性回归模型对象
    lin_reg = LinearRegression()
    # 训练
    lin_reg.fit(x[:,np.newaxis],y[:,np.newaxis])
    # 打印系数
    print(lin_reg.coef_,lin_reg.intercept_)
    print('R方:',lin_reg.score(x[:,np.newaxis],y[:,np.newaxis]))
    print('RMSE:',np.sqrt(mean_squared_error(y[:,np.newaxis],lin_reg.predict(x[:,np.newaxis]))))
    # 绘制图形
    plt.figure(dpi = 600)
    plt.plot(np.arange(1,x.shape[0]+1,1),y[:,np.newaxis] - lin_reg.predict(x[:,np.newaxis]),'+')
    plt.axhline(y=0.0, c='r')  # 垂直于y轴的参考线
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    输出

    [[0.98081454]] [73.2409963]
    R方: 0.9616734761736716
    RMSE: 1.0054868502483365
    
    • 1
    • 2
    • 3

    请添加图片描述

  • 相关阅读:
    Matlab进阶绘图第28期—带回归趋势线的密度散点图
    都说Redux不支持非序列化数据 简单讲解非序列化数据概念 并举例说明
    【过程记录】Mars3D加载3DTiles三维模型
    深度剖析集成学习Xgboost
    Leetcode2-两数相加代码详解
    判断两个链表是否相交
    接口调试工具概论
    使用Windows自带命令,将文件编码改为ANSI的方法
    丹尼尔·拉瑞莫(BM):EOS的主要开发者
    golang闭包
  • 原文地址:https://blog.csdn.net/qq_20144897/article/details/125424172