学生 t 分布变换的反向变换大家好,
我必须将一个变量转换为学生 t 分布,在 JMP 中,使用“分析”<<“分布”<<“选择变量”,然后单击红色箭头并使用连续拟合选择,转换回来是否同样容易?有人可以解释一下正确的菜单选择来实现这一点吗?
谢谢
基础数据分析与建模回复:学生 t 分布变换的反向变换你好@Mickyboy :没有进行任何转换;您确定的选项(“分析<<分布<<选择变量,然后单击红色箭头并使用连续拟合选择”)不会以任何方式转换您的数据,而只是检查所选分布(您的情况是 t 分布)是否可作为数据的父代总体。还是我误解了您的问题?
回复:学生 t 分布变换的反向变换你好,MRB3855,
感谢您的回复,您理解得有点错误,但这可能是我解释的方式,我正在从上面进行转换。连续拟合选择我得到的比较分布,最佳拟合分布,假设在这种情况下是学生 t,我可以勾选正态,转到拟合的正态分布并单击红色箭头并选择保存列并得到我的变量的简单学生 t 变换,简单又简单。我只是想知道是否有一种简单的方法可以从学生 t 变换中反向转换。希望这更有意义,如果你熟悉 r,有一个名为 emmeans 的过程可以识别转换并可以轻松地反向转换。
回复:学生 t 分布变换的反向变换你好@Mickyboy :我阅读了有关 emmeans 和我找到的文档( https://aosmith.rbind.io/2019/03/25/getting-started-with-emmeans/#back-transforming-results )说
“由于我使用了对数变换,我可以将结果表示为原始(数据)尺度中位数的乘积差异。
We can always back-transform estimates and CI limits by hand, but in emmeans() we can use the type argument for this. Using type = "response" will return results on the original scale. This works when the transformation is explicit in the model (e.g., log(resp)) and works similarly for link functions in generalized linear models."
更多信息请见:https: //cran.r-project.org/web/packages/emmeans/emmeans.pdf
那么...您使用 t 分布函数(pdf 或 cdf?)作为某些线性模型中“Y”的变换?然后您想要反向变换置信区间以返回到原始比例?如果这是正确的,是什么促使您使用这种变换?我问这个问题是因为我不清楚您是否真的在做您认为正在做的事情。通常使用变换是为了满足传统线性模型的正态性假设。如果我还是误解了,请见谅...
回复:学生 t 分布变换的反向变换你好@MRB3855 ,
再次感谢您的回复,不要纠结于转换是什么或为什么,我想知道是否有一种简单的方法可以反向转换,就像上面描述的转换过程一样简单,请参见下文,我使用学生 t 是因为以下内容,但它可以是任何您可以在下面看到的转换。要转换这个变量,按照上面的步骤很容易,所以我可以转换变量并做我需要做的事情,假设我想要中位数、GMT、标准误差、平均值周围的置信区间和预测区间,理论上我可以将它们添加到转换值列表的底部,如果有简单的方法可以做到这一点,然后反向转换所有内容。同样,这是一个一般性问题,如果有一个像转换一样简单易行的过程(再次不特定于任何转换)来反向转换。

回复:学生 t 分布变换的反向变换嗨@Mickyboy :好的。我仍然担心你不太明白自己在做什么。但是,我不会管这个,因为你不想“纠结于转换是什么或为什么”。
如果您想要反向变换,通常,您必须进行代数运算才能得到您想要的结果。对于 t 分布,这将取决于您使用的函数。CDF 或 PDF(PDF 是密度公式,CDF 是分布公式):

如果是 PDF,那么您将必须手动求解 x 的密度(下面的链接)。
https://en.wikipedia.org/wiki/Student%27s_t-distribution#Location-scale_transformation
https://www.jmp.com/support/help/en/18.0/#page/jmp/statistical-details-for-continuous-fit-distributions.shtml#ww1161929
您会遇到的问题是 PDF 不是一对一函数( https://en.wikipedia.org/wiki/Injective_function ),因为它围绕位置参数对称;这意味着对于给定的 PDF 值,x 将有两个解。例如,假设位置 = 100。然后 [110-location]^2 = [90-location]^2 = 100。因此,PDF 对于 90 的值与对于 110 的值相同;那么,当从 PDF 转换回 x 时,您将如何在两者之间进行选择?
如果是 CDF,则必须求解 PDF 的 t 积分(从负无穷到 t)。如果是这种情况,您可以使用“t 分位数”函数。
t Quantile( p, df ) * scale + location
回复:学生 t 分布变换的反向变换我过去曾使用原始变换公式通过逐次近似法计算过反向变换,下面是将新分布的平均值反向变换回原始数据值的一个例子
Names Default To Here( 1 );
dt =
// Open Data Table: Semiconductor Capability.jmp
// → Data Table( "Semiconductor Capability" )
Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
theColumn = "NPN1";
Distribution(
Continuous Distribution(
Column( as column(theColumn) ),
Process Capability( Use Column Property Specs ),
Fit Student's t(save distribution formula)
),
SendToReport(
Dispatch( {"NPN1"}, "Process Capability", OutlineBox, {Close( 1 )} )
)
);
// Find the back transform of the calculated mean of the transformed distribution
theTargetCol = Column( dt, N Cols( dt ) ) << get name;
theFormula = Char( As Column( dt, theTargetCol ) << get formula );
theTarget = Col Mean( Column( dt, theTargetCol ) );
// Change the reference to the original column used in the transformation to _X_
// so it can be used in the back transform
Substitute Into( theFormula, ":"|| theColumn, "_X_" );
// The formula needs to create a memory variable to allow for comparison.
// Add the resulting variable name to be the resulting variable when the
// formula is executed
theFormula = "theResult = " || theFormula || ";";
// Successive Approximation will be used to get the back transform
// Use the min and max of the original column to start the approximations
theMax = Col Max(as column(theColumn) );
theMin = Col Min( as column(theColumn) );
// Loop through the approximations for up to 100 loops to find the value
For( i = 1, i <= 100, i++,
_X_ = Mean( theMax, theMin );
Eval( Parse( theFormula ) );
If(
theResult > theTarget, theMax = _X_,
theResult < theTarget, theMin = _X_,
Break()
);
);
// Display the findings in the log
Show( theTarget, theResult, _X_, i );回复:学生 t 分布变换的反向变换感谢@txnelson和@MRB3855 ,
@txnelson非常感谢这个脚本,它太棒了,我将来会经常使用它。
@MRB3855 ,我问这个问题的原因是因为我在之前的帖子中看到了 JMP 对分布的比较输出,我没有听说过很多这些分布,Johnson Su、SHASH、Cauchy、Gamma、Weibull 和我认为将你的变量转换为接近正态分布的东西是一回事,而且正如上面强调的那样,在 JMP 中这很容易做到,但是你如何反向变换呢?我认为可能有一种我不知道的很好的、简单的反向变换方法,仅此而已。
感谢你们花时间回复
回复:学生 t 分布变换的反向变换嗨@Mickyboy :我明白……如果我没有表达清楚和/或给人一种争论的感觉,请原谅;我在这里的唯一意图是提供一些可能有用的指导。话虽如此,我会回复你上面的评论“……我认为将变量转换为接近正态分布的东西是一回事,而且如上所述,在 JMP 中很容易做到这一点,但你如何进行反向转换。”。
是的,确实有充分的理由将变量转换为近似正态的变量。确实如此。但是,根据定义,使用这些分布函数中的任何一个都不会做到这一点。
在您的例子中,您将 PDF 或 CDF(参见我上面的帖子)函数应用于您的变量(我们称之为 X)。
1. 如果您使用 PDF:此函数的作用是创建 t 分布曲线(下图中的蓝线)。因此,如果您应用此函数,则对于每个 X(x 轴),您将在蓝色曲线上获得一个点(y 轴)。

2. 如果您使用 CDF:它所做的就是计算 PDF 曲线下的面积(概率)。在下面的例子中,X=65.104 的蓝线下的面积为 0.439265。因此,如果 X 具有 t 分布(给定您的位置、尺度和 DF 值),则 Prob(X<65.104) = 0.439265。因此,对于每个 X,如果您应用此函数,您将得到一个概率。

因此,无论您选择哪个函数,PDF 还是 CDF,它都无法产生正态分布(或 t 分布);它所做的只是假设您的数据来自 t 分布,然后生成曲线和/或计算概率。事实上,CDF(无论 X 的分布如何)都具有均匀分布(特殊情况, a = b =1,属于 Beta 分布),但这可能是另一个话题,也许以后再讨论。
https://en.wikipedia.org/wiki/Inverse_transform_sampling
https://math.stackexchange.com/questions/1564584/prove-uniform-distribution#:~:text=Proof%3A%20In%20the%20case%20that,X%20for%20x%E2%88%88R.