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

在Julia中计算蒙特卡洛法估算π结果的Median absolute deviation

Julia 计算中位数绝对偏差(MAD)的实现方法

方法1:调用官方统计包内置函数

Julia 生态中StatsBase包已经内置了经过验证的mad函数,直接调用即可:

  • 第一步:安装并导入依赖包
import Pkg
Pkg.add("StatsBase")
using StatsBase
  • 第二步:将你的π近似值存储为数值向量,再调用函数
# 你的蒙特卡洛估计结果
pi_estimates = [3.0964517741129436, 3.152423788105947, 3.1284357821089457, 3.1404297851074463, 3.0904547726136933]

# 计算MAD,默认开启正态化修正(修正系数1.4826,匹配正态分布标准差尺度)
mad_result = mad(pi_estimates)

# 如果不需要修正,添加参数关闭即可
# mad_result = mad(pi_estimates; normalize=false)

你也可以直接和你的蒙特卡洛模拟代码整合,不用手动录入结果:

using StatsBase

# 直接生成5次估计结果并计算MAD
estimates = [picircle(1000) for _ in 1:5]
println("MAD计算结果: ", mad(estimates))

方法2:无依赖手动实现

如果不想引入额外包,可以直接手动实现逻辑,代码如下:

using Statistics # 标准库自带,无需额外安装

function custom_mad(x::Vector{<:Real}; normalize::Bool=true)
    med = median(x)
    abs_deviations = abs.(x .- med)
    mad_val = median(abs_deviations)
    return normalize ? mad_val * 1.4826 : mad_val
end

# 调用示例
custom_mad(pi_estimates)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 19:18:04