2017년에 @Kevin_Anderson은 JSL과 Formula Editor에서 강건 평균 및 표준 편차 함수를 계산하는 기능을 추가해 달라는 요청을 제출했습니다.
2022년에 @jthi 님이 더 자세한 소원을 제출했습니다.
정규화 및 강력한 통계 함수(및 행렬 함수)를 추가합니다.
다음과 같은 댓글과 함께:
@jthi 님 이 썼습니다: 이러한 기능들은 대부분 기존 통계 함수를 사용하면 비교적 쉽게 구현할 수 있지만, JMP의 기본 기능으로 제공되는 것이 훨씬 더 좋을 것 같습니다 (네이티브 구현이 더 빠를 수도 있습니다). 제 생각에는 이러한 기능들은 (다른 모든 통계 열 함수들처럼) 매우 유용하고 강력한 기능입니다.
값의 변동에 대한 견고한 추정량을 결정하는 또 다른 함수:
MAD: 중앙값 절대 편차.
https://en.wikipedia.org/wiki/Median_absolute_deviation

이는 (*)를 통해 확인할 수 있습니다.
- 값들의 중앙값 (Median()) 을 계산합니다.
- 값과 중앙값의 차이를 계산합니다.
- 표지판을 제거하세요
- 중앙값을 계산합니다
특정 열에 대한 평균 절대 오차(MAD)를 계산하려면 테이블/요약 플랫폼을 사용할 수 있습니다.

사용자들은 종종 개별 그룹에 대한 평균 절대 오차(MAD)를 계산하고 싶어합니다.
하지만 안타깝게도 JSL에는 Col MAD(값, 그룹화) 함수가 아직 없습니다.
반면에 (*)에 표시된 단계를 따라 JSL을 통해 MAD를 "수동으로" 계산하는 것은 매우 쉽습니다.
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
t0=hptime();
New Column( "MAD",
Formula( Col Median( Abs( :height - Col Median( :height, :sex ) ), :sex ) )
);
dt << run formulas();
show((hptime()-t0)/1000000)
하지만 잠깐만요. Col Median 안에 또 다른 Col Median 이 있는 게 좀 무섭네요. JMP가 매 행마다 값을 계속해서 다시 계산하는 건 아닐까요?
이것이 사실인지 확인하기 위해 데이터 테이블의 크기를 늘려 보겠습니다(640만 행):
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
For Each( {i}, {1, 2},
dts = Repeat( {dt}, 400 );
dt = dt << Concatenate( dts, );
);
데이터 테이블 크기가 클 경우 계산하는 데 몇 분이 소요됩니다(JMP18.2.1).
간단한 팁:
계산을 두 개의 계산으로 나누세요:
- 먼저 그룹화된 중앙값을 포함하는 열을 계산합니다.
- 그런 다음 MAD를 계산합니다.
또 다른 비법:
- JMP의 다음 버전을 기다려야 할까요?
더 많은 속임수가 있나요?
@hogi 님 이 썼습니다:
또 다른 비법:
- JMP의 다음 버전을 기다려야 할까요?
방금 JMP19 EA 버전으로 사용해 봤는데, 확실히 개선되었네요!
-> 몇 분이 아닌 단 몇 초 만에 완료됩니다.
아주 멋진 : )