안녕
JMP는 가중 표준 편차를 어떻게 계산합니까(배포 플랫폼의 가중 탭에서 변수를 선택한 경우)?
고맙습니다
파니
그것은 무지의 문제가 아닙니다. 가중 표준 편차 또는 분산에 대한 정의가 4개 이상 있습니다. 정의는 사용되는 분모에서만 다릅니다. 즉, 가중치 평균과 가중치 제곱합은 모든 정의에서 동일합니다. JMP는 네 가지 정의 중 하나만 구현합니다. 다른 소프트웨어는 이 정의 또는 다른 것 중 하나를 구현할 수 있습니다.
안녕 마크,
자신의 무지에 빠져들고 있습니다...
Excel에서 데이터 세트의 가중 평균을 계산하고 JMP와 비교했습니다. 결과가 일치하지 않았습니다.
내가 사용한 공식은 다음과 같습니다.

이것은 다음을 제외하고 코드에 동의합니다.
var = ss / (N Row( y )-1); // weighted variance, unbiased
해야한다:
var = ss / ((N Row( y )-1/N Row(y))*n; // weighted variance, unbiased
분명히 나는 이것을 이해하지 못한다.
고맙습니다
파니
왜 당신이 그것을 사용해서는 안된다고 생각합니까?
하이 마크,
감사합니다. 귀하의 의견에 감사드립니다.
그래서 가중치 열 속성이 설정되었을 때 유통 플랫폼에 인쇄된 표준 편차를 사용하지 않아야 한다고 가정합니다.
계산은 다음과 같습니다. 가중 산술 평균 . 이 공식을 사용하여 결과의 양을 이해하십시오.

스크립트를 사용하여 계산 단계를 설명합니다. 스크립트를 실행하기 전에 로그를 여십시오.
Names Default to Here( 1 );
// open examle
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Row Weight", Numeric, Continuous,
Values(
[0.466037725564092, 3.88878780649975, 2.4091640743427, 2.11785415420309,
4.79403748759069, 2.30050488375127, 1.58066931064241, 3.18035316769965,
1.57862229505554, 0.304837201256305, 3.91091752331704, 2.63118736562319,
3.27893625595607, 3.02616479573771, 1.75871466752142, 1.95901472005062,
1.4666282152757, 2.11275573237799, 2.02008433057927, 4.89492299617268,
0.493469994980842, 4.89886545110494, 2.22502982476726, 4.72375275800005,
0.830245516262948, 1.67820788919926, 3.44848407898098, 4.0259948768653,
3.2834971731063, 4.52901363372803, 3.88477634754963, 4.72076337435283,
4.64333190233447, 3.1073961337097, 0.579181439243257, 2.74820194579661,
0.191317443968728, 2.94498334173113, 2.51307534286752, 1.23225981369615]
)
);
// launch distribution analysis
biv = dt << Distribution(
Weight( :row weight ),
Continuous Distribution(
Column( :height ),
Customize Summary Statistics(
Sum Wgt( 1 ),
Variance( 1 ),
Corrected SS( 1 ),
Set Alpha Level( 0.05 )
)
),
SendToReport(
Dispatch( {}, "height", OutlineBox, {Set Title( "weighted height" )} )
)
);
// compute weight standard deviation and show intermediate results
y = :height << Get As Matrix; // data
w = :row weight << Get As Matrix; // weights
n = Sum( w ); // sum of weights
wYBar = (w`*y / n)[1]; // weighted average
ss = (w`*(y-wYBar)^2)[1]; // corrected weighted sum of squares
var = ss / (N Row( y )-1); // weighted variance, unbiased
s = Sqrt( var ); // weighted standard deviation
Show( wYbar, s, ss, var ); // view all results in Log