사다리꼴 규칙?
Names default to here(1);
dt = current data table();
x_col = Column(dt, "Time (Week)");
y_col = Column(dt, "Y");
by_col = Column(dt, "Curve");
auc = function({x_col, y_col, by_col},
{DEFAULT LOCAL},
Summarize(dt, by_values=By(by_col));
areas = [=>];
for(i=1, i<=nitems(by_values), i++,
by_value = by_values[i];
rows = dt << Get Rows Where(by_col[]==by_value); // get he rows for the curve
x_values = x_col[rows];
r = rank(x_values); // make sure it's ordered right
x_values = x_values[r];
y_values = y_col[rows][r];
n = nitems(x_values);
//trapezoid rule
x_1 = x_values[1::n-1];
x_2 = x_values[2::n];
y_1 = y_values[1::n-1];
y_2 = y_values[2::n];
x_intervals = abs(x_2 - x_1);
y_avg = (y_2 + y_1)/2;
area = sum(x_intervals :*</img> y_avg);
areas[by_value] = area
);
return(areas);
);
areas = auc(x_col, y_col, by_col);
show(areas); // areas = ["A" => 10.5, "B" => -7.5, "C" => -16.5, "D" => 6, "E" => 24];
또한 수행 중인 작업은 다각형이 아닙니다(비슷한 용도로 다른 곳에서 사용하는 경우).다각형의 면적은 절대 음수가 될 수 없으며 그렇지 않으면 존재하지 않습니다.
스크립팅 색인의 예는 수행하는 작업을 보여줍니다.
Names Default To Here( 1 );
area = Polygon Area( {0, 0}, {0, 10}, {10, 10}, {10, 0} );
{10, 0}과 {0, 0} 사이의 루프(이 경우에는 사각형)를 닫습니다.따라서 다각형 영역은 100입니다.x/y 평면의 어느 위치에 배치하는지는 중요하지 않습니다.10x10 정사각형의 넓이는 100이어야 합니다.
Names Default To Here( 1 );
area = Polygon Area( {-100, -100}, {-100, -90}, {-90, -90}, {-90, -100} );
show(area); //100안녕하세요 JMP 커뮤니티,
간단한 시계열 데이터에 대한 곡선 아래의 부호 있는 영역을 계산해야 합니다(아래 모의 데이터 참조).

구체적으로, 양에서 음으로 그리고 역으로 지역 이동을 포함하여 0 위의 영역을 양수로, 0 아래를 음수로 계산해야 합니다.
예:
- 곡선 A의 AUC = 양수 영역 1 + 음수 영역 2 + 양수 영역 3
- 곡선 C에 대한 AUC = 양수 영역 1 + 음수 영역 2
- 곡선 E에 대한 AUC = 양의 영역 1
다각형 영역() 함수는 교차 세그먼트로 인해 더 복잡한 시계열을 올바르게 처리하는 것으로 나타나지 않습니다. 또한 이 함수는 영역에 대한 부호 있는 값을 반환하지 않습니다. 내 목표를 달성하는 데 사용할 수 있는 추가 기능이나 기능을 알고 계십니까?
감사합니다.
최상의,
TS