python做有置信区间的拟合,python实现参数估计-置信区间

本文介绍了如何使用Python进行置信区间的参数估计,包括男性体温的95%置信区间计算、总体均值和方差的置信区间、以及两个总体方差比的置信区间。通过示例代码展示了`mean_interval`和`std_interval`函数的用法,用于计算不同置信水平下的置信区间。
摘要由CSDN通过智能技术生成

一、关于体温、性别、心率的临床数据

对男性体温抽样计算下95%置信区间总体均值范围。转自:https://www.jianshu.com/p/a3efca8371eb

import pandas as pd

import numpy as np

import seaborn as sns

import matplotlib.pyplot as plt

#读取数据

df = pd.read_csv('http://jse.amstat.org/datasets/normtemp.dat.txt', header = None,sep = '\s+' ,names=['体温','性别','心率'])

#选取样本大小,查看数据

np.random.seed(42)

#df.describe()

#样本量为90,查看样本数据

df_sam = df.sample(90)

df_sam.head()

#计算抽取样本中男士体温的均值

df3 = df_sam.loc[df_sam['性别']==1]

df3['体温'].mean()

#重复抽取样本,计算其他样本中男士体温的均值,得到抽样分布

boot_means = []

for _ in range(10000):

bootsample = df.sample(90, replace=True)

mean = bootsample[bootsample['性别'] == 1]['体温'

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python拟合函数并计算置信区间可以使用scipy库中的curve_fit函数来实现。curve_fit函数是一个非线性最小二乘拟合的优化函数,可以通过给定的数据拟合出一个函数模型,并返回拟合参数的估计值和协方差矩阵。 以下是一个使用curve_fit函数拟合指数函数并计算置信区间的示例代码: ```python import numpy as np from scipy.optimize import curve_fit import matplotlib.pyplot as plt # 定义指数函数模型 def exponential(x, a, b, c): return a * np.exp(-b * x) + c # 生成模拟数据 x_data = np.linspace(0, 10, 100) y_data = exponential(x_data, 2, 0.5, 1) + np.random.normal(0, 0.2, len(x_data)) # 使用curve_fit函数拟合指数函数 params, cov = curve_fit(exponential, x_data, y_data) # 得到拟合参数的估计值和协方差矩阵 a_fit, b_fit, c_fit = params cov_matrix = cov # 计算置信区间 perr = np.sqrt(np.diag(cov_matrix)) # 参数估计值的标准误差 confidence_interval = 1.96 * perr # 95% 置信区间 print("拟合参数: a =", a_fit, ", b =", b_fit, ", c =", c_fit) print("置信区间: a =", a_fit - confidence_interval[0], "-", a_fit + confidence_interval[0]) print("置信区间: b =", b_fit - confidence_interval[1], "-", b_fit + confidence_interval[1]) print("置信区间: c =", c_fit - confidence_interval[2], "-", c_fit + confidence_interval[2]) # 绘制拟合曲线和原数据 x_fit = np.linspace(0, 10, 100) y_fit = exponential(x_fit, a_fit, b_fit, c_fit) plt.scatter(x_data, y_data, label="Data") plt.plot(x_fit, y_fit, label="Fitted curve") plt.legend() plt.show() ``` 运行以上代码,将会得到拟合参数的估计值和置信区间,并绘制出拟合曲线和原始数据的图像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值