You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matlab中针对指定均值执行Chi^2拟合优度检验?

在Matlab中基于预设均值执行卡方拟合优度检验

chi2gof默认会自动从输入数据中估计分布参数,要基于预设均值进行拟合检验,核心是通过自定义累积分布函数(CDF)来固定均值参数,而非让函数自动估算。以下是具体实现方法:

正态分布示例(固定预设均值)

假设你要检验数据是否符合**均值为预设值mu0**的正态分布,步骤如下:

  1. 准备数据与预设参数
  2. 定义使用预设均值的自定义CDF
  3. 传入chi2gof执行检验
% 1. 准备示例数据(实际替换为你的数据)
x = randn(100, 1) + 1; % 生成均值接近1的正态样本
mu0 = 1; % 你的预设均值
sigma = std(x); % 可使用样本标准差,也可替换为预设的固定标准差

% 2. 定义使用预设均值的自定义CDF
custom_norm_cdf = @(z) normcdf(z, mu0, sigma);

% 3. 执行卡方拟合优度检验
[h, p_val, test_stats] = chi2gof(x, 'CDF', custom_norm_cdf);

泊松分布示例(固定预设均值)

泊松分布的均值等于其参数lambda,若要检验数据是否符合均值为lambda0的泊松分布:

% 1. 准备示例数据
x = poissrnd(2, 100, 1); % 生成均值为2的泊松样本
lambda0 = 2; % 预设均值

% 2. 定义自定义CDF
custom_poisson_cdf = @(z) poisscdf(z, lambda0);

% 3. 执行检验
[h, p_val, test_stats] = chi2gof(x, 'CDF', custom_poisson_cdf);

关键说明

  • 'CDF'参数是核心:通过传入自定义CDF,强制检验使用你指定的预设均值,而非函数自动估算的参数。
  • 检验结果解读:
    • h=1:拒绝“数据服从该预设均值分布”的原假设
    • h=0:不拒绝原假设
    • p_val是检验的p值,test_stats包含卡方统计量、自由度等细节
  • 若需控制分组区间,可额外添加'Edges'参数自定义区间边界。

内容的提问来源于stack exchange,提问作者Mori

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 05:07:18