BiweightMidvariance[list]
给出 list 中元素的双加权中值方差 (biweight midvariance) 的值.
BiweightMidvariance[list,c]
给出缩放参数为 c 的双加权中值方差.
BiweightMidvariance
BiweightMidvariance[list]
给出 list 中元素的双加权中值方差 (biweight midvariance) 的值.
BiweightMidvariance[list,c]
给出缩放参数为 c 的双加权中值方差.
更多信息
- BiweightMidvariance 是稳健分散度估计量
- BiweightMidvariance 由加权二阶中心矩给出,Median 为其中心. 离中心较远的元素的权重也较低.
- 加权函数的宽度由参数 c 控制. 较大的 c 表明在计算统计量时有更多的数据被包含进来,反之亦然.
- 对于列表 {x1,x2,…,xn},双加权中值方差估计器是由
给出,其中
,
是 Median[{x1,x2,…,xn}],并且
是 MedianDeviation[{x1,x2,…,xn}]. - BiweightMidvariance[list] 等价于 BiweightMidvariance[list,9].
- BiweightMidvariance[{{x1,y1,…},{x2,y2,…},…}] 给出 {BiweightMidvariance[{x1,x2,…}],BiweightMidvariance[{y1,y2,…}],…}.
- BiweightMidvariance 允许 c 为任意正实数.
范例
打开所有单元 关闭所有单元基本范例 (4)
列表的 BiweightMidvariance:
BiweightMidvariance[{6.5, 3.8, 6.6, 5.7, 6.0, 6.4, 5.3}]矩阵的列的 BiweightMidvariance:
BiweightMidvariance[{{1., 2.}, {4., 8.}, {5., 3.}, {2., 15.}}]缩放因子为 8 时列表的 BiweightMidvariance:
BiweightMidvariance[{1, 2, 3, 2, 1}, 8]日期列表的 BiweightMidvariance:
BiweightMidvariance[{Yesterday, Today, Tomorrow}]范围 (9)
BiweightMidvariance[{1, 20, 3, 4}]BiweightMidvariance[{1., 2., 3., 4.}]BiweightMidvariance[N[{1, 2, 3, 4}, 30]]BiweightMidvariance[{1.2, 3.8, 4.2, -0.5, -5.2}, 10]BiweightMidvariance[{1.2, 3.8, 4.2, -0.5, -5.2}, 100]BiweightMidvariance[RandomReal[1, {50, 3}]]BiweightMidvariance[RandomReal[1, 10 ^ 6]]BiweightMidvariance[RandomReal[1, {10 ^ 6, 3}]]求 TimeSeries 的双加权中值方差:
ts = TemporalData[TimeSeries, {{{3, 8, 4, 11, 9, 2}}, {{{1, 3, 5, 7, 8, 10}}}, 1, {"Continuous", 1},
{"Discrete", 1}, 1, {ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, False,
10.1];BiweightMidvariance[ts]//NBiweightMidvariance[ts["Values"]//N]data = Quantity[RandomReal[1, 6], "Meters"]BiweightMidvariance[data]dates = WolframLanguageData[All, "DateIntroduced"];DateHistogram[dates]BiweightMidvariance[dates]UnitConvert[%, "Years" ^ 2]RandomTime[3]BiweightMidvariance[%]{TimeObject[{12}, TimeZone -> 0], TimeObject[{12}, TimeZone -> 2], TimeObject[{12}, TimeZone -> "Asia/Tokyo"]}BiweightMidvariance[%]应用 (5)
BiweightMidvariance[{3, 10, 10 ^ 6, 20, 5, 6}]//NVariance[{3, 10, 10 ^ 6, 20, 5, 6}]//Ndata = TemporalData[«4»];DateListPlot[data]smooth = Sqrt[MovingMap[BiweightMidvariance, data, {Quantity[5, "Year"]}]];DateListPlot[smooth]data = RandomFunction[WienerProcess[], {0, 1, .01}, 10 ^ 3];times = Range[0.1, 1, .1];md = Map[{#, BiweightMidvariance[data["SliceData", #]]}&, times]Show[ListPlot[data], ListLinePlot[md, PlotStyle -> Black]]heights = Quantity[{134, 143, 131, 140, 145, 136, 131, 136, 143, 136, 133, 145, 147,
150, 150, 146, 137, 143, 132, 142, 145, 136, 144, 135, 141}, "Centimeters"];ListPlot[heights, Filling -> Axis, AxesLabel -> Automatic]bmv = BiweightMidvariance[heights]//Nm = Median[heights];
n = Length[heights];
sbmv = Sqrt[bmv];ListPlot[{heights, {{0, m}, {n, m}}, {{0, m - sbmv}, {n, m - sbmv}}, {{0, m + sbmv}, {n, m + sbmv}}}, Filling -> {1 -> 0, 3 -> {4}}, Joined -> {False, True, True, True}, PlotStyle -> {Automatic, Automatic, Gray, Gray}, PlotLegends -> {"heights", "median", "bands"}, AxesLabel -> Automatic]考虑来自标准正态分布的一组数据,其异常值由另一个展布较大的正态分布模拟:
BlockRandom[
SeedRandom[10];
data = RandomVariate[MixtureDistribution[{0.95, 0.05}, {NormalDistribution[], NormalDistribution[0, 10]}], 10 ^ 4];
]QuantilePlot[data]DistributionFitTest[data, NormalDistribution[], "TestConclusion"]bmv = BiweightMidvariance[data]选取距样本中位数双加权中值方差的平方根的三倍范围内的数据点,从而移除异常点:
bound = 3Sqrt[bmv];
med = Median[data];ndata = Pick[data, Sign[Abs[data - med] - bound], -1];QuantilePlot[ndata]DistributionFitTest[ndata, NormalDistribution[], "TestConclusion"]属性和关系 (3)
data = {-1000, 3, 10, 20, 1, -3, 5, 0, 6, 1000};bw1 = N@BiweightMidvariance[data]区间
之外的值对统计量没有影响. 这里
是样本中位数,
是绝对中位差.
是缩放参数,默认值为 9:
{x0, δ} = {Median[data], MedianDeviation[data]}Plot[Max[1 - ((x - x0) / (9 δ)) ^ 2, 0] ^ 2, {x, -60, 70}]data[[{1, -1}]] *= 2;bw2 = N@BiweightMidvariance[data]bw1 == bw2BiweightMidvariance 和 Variance 是数据的分散度估计量:
data = RandomVariate[StudentTDistribution[2], 10 ^ 4];
est = {BiweightMidvariance, Variance};TableForm[Through[est[data]], TableHeadings -> {est}]{bmvbootstrap, varbootstrap} = Transpose[Table[Through[est[RandomChoice[data, 10 ^ 4]]], {10 ^ 3}]];计算每个估计量的自助估计的标准偏差/均值所得的比值;较小的数值表示更准确的分散度量:
StandardDeviation[bmvbootstrap] / Mean[bmvbootstrap]StandardDeviation[varbootstrap] / Mean[varbootstrap]当 c 取较大值时,BiweightMidvariance 收敛于第二中心矩:
data = RandomReal[StudentTDistribution[1], 1000];cm = CentralMoment[data, 2]Plot[{BiweightMidvariance[data, c], cm}, {c, 5, 10 ^ 4}, AxesLabel -> {c}, PlotRange -> All, PlotLegends -> {"biweight mid-variance", "second central moment"}]可能存在的问题 (1)
对于带有小标量参数的偶数个元素的向量,双加权中值方差可能未定义:
data1 = {1., 2., 3., 4.};BiweightMidvariance[data1, 0.5]对于奇数长度的向量和相当小的 c,双加权中值方差可能假设相当大的值:
data2 = {1., 2., 3., 4., 5.};Plot[BiweightMidvariance[data2, c], {c, 1, 2}, PlotRange -> All]BiweightMidvariance[data2, 1.678245]文本
Wolfram Research (2017),BiweightMidvariance,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BiweightMidvariance.html (更新于 2024 年).
CMS
Wolfram 语言. 2017. "BiweightMidvariance." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/BiweightMidvariance.html.
APA
Wolfram 语言. (2017). BiweightMidvariance. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/BiweightMidvariance.html 年
BibTeX
@misc{reference.wolfram_2026_biweightmidvariance, author="Wolfram Research", title="{BiweightMidvariance}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/BiweightMidvariance.html}", note=[Accessed: 18-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_biweightmidvariance, organization={Wolfram Research}, title={BiweightMidvariance}, year={2024}, url={https://reference.wolfram.com/language/ref/BiweightMidvariance.html}, note=[Accessed: 18-August-2026]}