Student t 分佈變換的反變換大家好,
我必須將變量轉換為學生 t 分佈,在 JMP 中使用分析 << 分佈 << 選擇變量,然後單擊紅色箭頭並使用連續擬合選擇,返回轉換是否同樣簡單?有人可以解釋發生這種情況的正確菜單選擇嗎?
謝謝
基礎資料分析與建模Re: Student t 分佈變換的反向變換嗨@Mickyboy :沒有進行任何轉換;您確定的選項(“分析 << 分佈 << 選擇變量,然後單擊紅色箭頭並使用連續擬合選擇”)不會以任何方式轉換您的數據,而只是檢查是否選擇了分佈(您的情況下的t 分佈)作為您的資料的父群體是合理的。還是我誤解了你的問題?
Re: Student t 分佈變換的反向變換嗨,MRB3855,
感謝您的回复,您有點理解不了,但這可能是我從上面解釋、轉變的方式。連續擬合選擇我得到比較分佈,最佳擬合分佈,並且在這種情況下說它的學生t,我可以勾選正態,轉到擬合的正態分佈並單擊紅色箭頭並選擇保存列並獲得一個簡單的學生我的變數的轉換,很好又簡單。我只是想知道是否有一種簡單的方法可以從學生 t 轉換進行反向轉換。希望這更有意義,如果您熟悉 r,那麼有一個名為 emmeans 的過程可以識別變換並可以輕鬆地進行反向變換。
Re: Student 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」的變換?然後您想對置信區間進行反向變換以恢復到原始規模?如果這是正確的,是什麼促使您使用這種轉換?我這麼問是因為我不清楚你是否真的在做你認為自己在做的事情。通常使用變換來滿足傳統線性模型的常態性假設。抱歉,如果我還是誤會的話...
Re: Student t 分佈變換的反向變換嗨@MRB3855 ,
再次感謝您的回复,不要執著於變換是什麼或為什麼,我想知道是否有一個簡單的方法來支持變換,就像上面描述的變換過程一樣簡單,請看下面,我用過學生原因如下,但它可能是您在下面看到的任何轉換。按照上面的步驟來轉換這個變數是很容易的,所以我可以轉換變數並做我需要做的事情,假設我想要中位數、GMT、標準誤差、平均值周圍的置信區間和預測區間,理論上,如果有一種簡單的方法,我可以將它們添加到轉換值列表的底部並進行反向轉換。同樣,如果有一個像轉換(同樣不特定於任何轉換)到反向轉換一樣簡單和容易的過程,這也是一個普遍問題。

Re: Student 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 將有兩個解。例如,假設 location = 100。那麼,當從 PDF 轉換回 x 時,您會如何在兩者之間進行選擇?
如果是 CDF,則必須求解 t 的 PDF 積分(從負無窮大到 t)。如果是這種情況,您可以使用「t 分位數」函數。
t Quantile( p, df ) * scale + location
Re: Student 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 );Re: Student t 分佈變換的反向變換謝謝@txnelson和@MRB3855 ,
@txnelson非常感謝這個腳本,太棒了,我將來會經常使用它。
@MRB3855 ,我問這個問題的原因是因為我上一篇文章中用於比較分佈的JMP 的輸出,我沒有聽說過很多這樣的分佈,Johnson Su、SHAASH、Cauchy、Gamma、Weibull,我認為它是將變數轉換為接近常態分佈的變數是一回事,並且在 JMP 中很容易做到,如上面突出顯示的那樣,但是如何進行反向轉換。我認為可能有一種我不知道的好又簡單的方法來支援轉換,僅此而已。
感謝你們花時間回复
Re: Student 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 的分佈是什麼)具有均勻分佈(Beta 分佈的特殊情況, a = b = 1),但這可能是另一天的另一個主題。
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.