Student t 분포 변환의 역변환안녕하세요 여러분,
변수를 학생 t 분포로 변환해야 했는데, JMP에서 Analyze << Distribution <<를 사용하여 쉽고 간편했습니다. 변수를 선택한 다음 빨간색 화살표를 클릭하고 연속적 적합 선택을 사용하면 역변환도 마찬가지로 간단합니까?? 누군가가 이 작업을 수행하기 위한 올바른 메뉴 선택을 설명할 수 있습니까?
감사해요
기본 데이터 분석 및 모델링Re: Student t 분포 변환의 역변환안녕하세요 @Mickyboy : 변환이 수행되지 않습니다. 식별한 옵션("분석 << 분포 << 변수 선택 후 빨간색 화살표를 클릭하고 연속적 적합 선택 사용")은 어떤 식으로도 데이터를 변환하지 않고, 선택한 분포(귀하의 경우 t 분포)가 귀하의 데이터에 대한 부모 모집단으로 타당한지 확인하는 것뿐입니다. 아니면 제가 귀하의 질문을 오해하고 있는 건가요?
Re: Student t 분포 변환의 역변환안녕하세요 MRB3855,
답변 감사합니다. 약간 잘못 이해하셨지만, 제가 설명하는 방식 때문일 수 있습니다. 위에서 변환하고 있습니다. 연속 적합 선택은 분포를 비교하고, 가장 적합한 분포를 얻고, 이 경우 학생 t라고 합시다. 정규를 선택하고, 적합한 정규 분포로 가서 빨간색 화살표를 클릭하고 열 저장을 선택하면 변수의 간단한 학생 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
그러니까... 선형 모델에서 "Y"의 변환으로 t 분포 함수(pdf 또는 cdf?)를 사용하고 있나요? 그리고 신뢰 구간을 역변환하여 원래 척도로 되돌리고 싶으신가요? 맞다면, 그 변환을 사용하게 된 이유가 무엇인가요? 제가 묻는 이유는 당신이 실제로 생각하는 대로 하고 있는지 확실하지 않기 때문입니다. 변환은 일반적으로 기존 선형 모델의 정규성 가정을 충족하도록 사용됩니다. 제가 여전히 오해하고 있다면 죄송합니다...
Re: Student t 분포 변환의 역변환안녕하세요 @MRB3855 ,
다시 한번, 회신 주셔서 감사합니다. 변환이 무엇인지 또는 왜 그런지에 집착하지 마세요. 위에 설명된 변환 절차처럼 쉬운 역변환 방법이 있는지 알고 싶습니다. 아래를 참조하세요. 저는 아래의 이유 때문에 student t를 사용했지만 아래에서 볼 수 있는 변환 중 하나일 수 있습니다. 이 변수를 변환하는 것은 위의 단계에 따라 쉽고 간편하므로 변수를 변환하고 필요한 작업을 수행할 수 있습니다. 예를 들어 중앙값, 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이라고 가정해 보겠습니다. 그러면 [110-location]^2 = [90-location]^2 = 100입니다. 따라서 PDF는 90에 대한 값과 110에 대한 값이 같습니다. 그러면 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, SHASH, 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의 분포가 무엇이든)는 균일 분포(베타 분포의 특수한 경우 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.