习题
习题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)
习题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) X∼N(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)
习题7.3
按分位数法求灯泡寿命平均值的置信水平为0.90的Bootstrap置信区间。
算法设计
clc,clear
% 固定随机数种子
x = [1050,1100,1120,1250,1280]';
% 计算均值的置信区间
mu = bootci(10000,{@(x)mean(x),x},'alpha',0.1)
习题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=1 | 98 | 93 | 103 | 92 | 110 |
j = 2 j = 2 j=2 | 100 | 108 | 118 | 99 | 111 |
j = 3 j = 3 j=3 | 129 | 140 | 108 | 105 | 115 |
算法设计
- 用 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')
习题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
序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
x x x | 1 | 2 | 4 | 5 | 7 | 8 | 9 | 10 |
y y y | 1.3 | 1 | 0.9 | 0.81 | 0.7 | 0.6 | 0.55 | 0.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
输出:
array([ 0.64983455, 0.59007412, 0.06658214, -0.00912294])
习题7.6
人的身高与腿长有密切关系,现测得13名成年男子身高 y y y与腿长 x x x数据见表。试建立人的升高 y y y和腿长 x x x之间的一元线性回归模型。
x x x | 92 | 95 | 96 | 96.5 | 97 | 98 | 101 | 103.5 | 104 | 105 | 106 | 107 | 109 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
y y y | 163 | 165 | 167 | 168 | 171 | 170 | 172 | 174 | 176 | 176 | 177 | 177 | 181 |
算法设计
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轴的参考线
输出:文章来源:https://www.toymoban.com/news/detail-466006.html
[[0.98081454]] [73.2409963]
R方: 0.9616734761736716
RMSE: 1.0054868502483365
文章来源地址https://www.toymoban.com/news/detail-466006.html
到了这里,关于数学建模算法与应用 数理统计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!