Mathematica 中的卡方 table
chi square table in mathematica
我想针对任意给定的自由度数 k 计算与给定卡方值关联的概率。我可以很容易地想出这段代码:
P[chisquare_, k_] = Manipulate[NIntegrate[PDF[ChiSquareDistribution[k], x], {x, chisquare, Infinity}], {chisquare, 0, 10}, {k, 1, 10}]
但我想知道:有没有办法反其道而行之?我的意思是将概率 P 作为输入并获得关联的卡方值?就像我想编译卡方 table 这样的 https://www.medcalc.org/manual/chi-square-table.php
我尝试使用 Solve 但没有完成任何事情,有没有简单的方法解决这个问题?
您可以使用 CFD
进行集成并使用 Quantile
进行反向操作,例如
NIntegrate[PDF[ChiSquareDistribution[2], a], {a, 0, 3.0}]
0.77687
p = CDF[ChiSquareDistribution[2], 3.0]
0.77687
Quantile[ChiSquareDistribution[2], p]
回复。你的 link
Quantile[ChiSquareDistribution[2], 1 - #] & /@ {0.995, 0.975, 0.20, 0.10, 0.05};
SetPrecision[#, If[# < 1, 3, 4]] & /@ %
{0.0100, 0.0506, 3.219, 4.605, 5.991}
我想针对任意给定的自由度数 k 计算与给定卡方值关联的概率。我可以很容易地想出这段代码:
P[chisquare_, k_] = Manipulate[NIntegrate[PDF[ChiSquareDistribution[k], x], {x, chisquare, Infinity}], {chisquare, 0, 10}, {k, 1, 10}]
但我想知道:有没有办法反其道而行之?我的意思是将概率 P 作为输入并获得关联的卡方值?就像我想编译卡方 table 这样的 https://www.medcalc.org/manual/chi-square-table.php
我尝试使用 Solve 但没有完成任何事情,有没有简单的方法解决这个问题?
您可以使用 CFD
进行集成并使用 Quantile
进行反向操作,例如
NIntegrate[PDF[ChiSquareDistribution[2], a], {a, 0, 3.0}]
0.77687
p = CDF[ChiSquareDistribution[2], 3.0]
0.77687
Quantile[ChiSquareDistribution[2], p]
回复。你的 link
Quantile[ChiSquareDistribution[2], 1 - #] & /@ {0.995, 0.975, 0.20, 0.10, 0.05};
SetPrecision[#, If[# < 1, 3, 4]] & /@ %
{0.0100, 0.0506, 3.219, 4.605, 5.991}