안녕하세요,
신호가 시계열 데이터 내에서 특정 한계 이상으로 유지되는 평균 시간 (시간 또는 분)을 검색하는 쉬운 방법이 있는지 궁금합니다. 첨부 파일에 예제 데이터 세트를 추가했습니다.
데이터의 평균 기준선을 기반으로 계산 한 몇 가지 예비 SD 한계를 추가했습니다.

그렇다면 신호가 2SD, 3SD 또는 5SD 아래로 되돌아가는 데 걸리는 시간은 얼마입니까?
감사.
기간을 계산하는 매우 간단한 공식입니다.

그런 다음 데이터의 모양을 확인하고 평균을 얻기 위해 분포를 실행했습니다.

아래 예에서는 1 SD 이상 소요 된 시간을 결정하는 새 열을 하나만 만듭니다.공식은 매우 간단하므로 2SD 등을 계산하는 데 사용하는 것은 첫 번째 공식에서 확장 할 수 있어야합니다.
다음은 계산 및 표시를 수행하는 JSL입니다.이것은 대화식으로 쉽게 수행 할 수 있습니다.
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "sd1 Duration",
Numeric,
"Continuous",
Format( "hr:m:s", 13, 0 ),
Input Format( "hr:m:s", 0 ),
Formula(
If( Row() == 1,
start = 0;
sdLimit = Col Mean( :Count ) + Col Std Dev( :Count );
);
theTime = .;
If( :Count <= sdLimit & start > 0,
theTime = :"Date/Time"n - start;
start = 0;
);
If( :Count > sdLimit & start == 0,
start = :"Date/Time"n
);
theTime;
),
Set Selected
);
Distribution(
Continuous Distribution( Column( :sd1 Duration ), Horizontal Layout( 1 ), Vertical( 0 ) ),
SendToReport(
Dispatch(
{"sd1 Duration"},
"1",
ScaleBox,
{Min( -2009.13865683119 ), Max( 143459.453400931 ), Interval( "Hour" ), Inc( 10 ),
Minor Ticks( 1 )}
),
Dispatch(
{"sd1 Duration"},
"Distrib Histogram",
FrameBox,
{DispatchSeg( Hist Seg( 1 ), Bin Span( 2, 0 ) )}
)
)
);