어느 정도의 자기 상관으로 프로세스 데이터를 시뮬레이션하는 방법은 무엇입니까?저는 제조 환경에서 일하며 상대적으로 정규 분포를 따르지만 반드시 무작위 분포는 아닌 데이터를 자주 봅니다.프로세스 능력 계산과 관련하여 전체 시그마(표준 편차)는 종종 내 시그마(제어 차트 시그마)보다 큽니다.이는 원료 로트 전환 및 주기적인 기기 교정과 같은 다양한 이유로 발생할 수 있습니다.제안된 몇 가지 제어 전략을 평가하려고 하는데 내 프로세스를 정확하게 시뮬레이션하는 방법을 알 수 없습니다.Random Normal()만 사용하면 실제 프로세스 데이터에서 일반적으로 볼 수 있는 자기상관을 전혀 얻지 못합니다.안정성 지수가 1이 아닌 데이터를 시뮬레이션하는 방법에 대한 아이디어가 있습니까?이것은 데이터 패턴에 대한 예측 가능한 기간이 있는 전통적인 시계열 문제가 아닙니다.도움을 주신 모든 분들께 미리 감사드립니다.
품질 및 프로세스 엔지니어링Re: 어느 정도의 자기 상관이 있는 프로세스 데이터를 시뮬레이션하는 방법은 무엇입니까?JSL을 어지럽히는 것이 괜찮다면 시뮬레이션 게임을 무한정 플레이할 수 있습니다. 몇 가지 아이디어를 제공할 수 있는 몇 가지 오래된 스크립트를 첨부했습니다. 첫 번째는 의 답장을 기반으로 합니다. @peng_liu AR(2) 프로세스의 출력을 시뮬레이션하고 추정된 매개변수가 사용된 모델 매개변수와 어떻게 일치하는지 확인할 수 있습니다. 아마도 명백하게 말할 수 있지만 모든 프로세스가 얼마나 많은 매개변수가 사용되는지에 관계없이 자동 회귀로 유용하게 모델링될 수 있는 것은 아닙니다. 나는 항상 찾았다 박스와 루세노의 책 산업적 맥락에서 매우 유용합니다. 두 번째 스크립트는 '끈적한 혁신 프로세스'라고 부르는 것을 시뮬레이션합니다.
Re: 어느 정도의 자기 상관이 있는 프로세스 데이터를 시뮬레이션하는 방법은 무엇입니까?@Mark_Bailey 이 게시물을 지적했습니다. 그리고 나는 당신의 데이터를 보았습니다. 귀하의 데이터는 A의 줄임말인 소위 AR(1) 모델로 적절하게 모델링할 수 있는 것으로 보입니다. 차수 1의 자기회귀. 자기 상관이 있는 프로세스를 설명하는 일종의 시계열 모델입니다.
AR(1) 모델의 경우 다음 단계에 따라 JMP 수식 열을 사용하여 시뮬레이션할 수 있습니다.
먼저, AR(1) 모델을 맞추면 다음과 같은 보고서가 있습니다.

원본 데이터에 스크립트를 포함하고 업데이트된 데이터 테이블을 첨부합니다.
다음으로 다음과 같이 수식 열을 만듭니다. 이전 보고서의 세 가지 숫자(모수 추정치 두 개, 모델 요약의 표준 편차)가 필요합니다. 그리고 그들이 수식에서 어떻게 사용되는지 확인하십시오.
이제이 공식에 대해 조금. 먼저 JMP 테이블이 수식을 평가하는 방법을 상상해보십시오. 행 단위입니다. 따라서 공식은 그것이 첫 번째 행인 경우 샘플에 따라 일부 숫자를 시뮬레이션하면 임의의 Normal(0,1)이 청구서에 맞는 것처럼 보입니다. 그런 다음 행 번호가 증가하면 수식은 이전 행의 값을 기반으로 재귀적으로 새 값을 계산합니다. 이것이 Y의 첨자가 하는 일입니다.
완성품도 첨부합니다. 원래 데이터 테이블에는 세 개의 스크립트가 있습니다. 시뮬레이션된 데이터 테이블에는 세 개의 스크립트가 있습니다. 그리고 결과를 비교하여 시뮬레이션된 데이터가 원본 데이터에 얼마나 가까운지 확인할 수 있습니다.

한 마디 더, 데이터가 더 복잡하고 AR(1)이 더 이상 충분하지 않으면 더 복잡한 시계열 모델을 따라야 할 수도 있습니다. 그때까지 시뮬레이션은 더 이상 쉬운 작업이 아닙니다. 다행스럽게도 시계열 플랫폼에는 시뮬레이션 기능이 내장되어 있습니다. 첨부된 테이블(귀하의 테이블 또는 시뮬레이션된 테이블)에서 시계열 스크립트를 실행하십시오. 보고서의 모델 비교 내에서 모델 옆에 있는 빨간색 삼각형을 클릭하고 시뮬레이션 생성을 선택하면 시계열을 시뮬레이션하는 대화 상자로 연결됩니다. 대화는 대부분 스스로 설명해야 하므로 자세히 설명하지 않겠습니다.

Re: 어느 정도의 자기 상관이 있는 프로세스 데이터를 시뮬레이션하는 방법은 무엇입니까?고마워, 마크.도움이 된다면, 제가 시뮬레이트하려는 데이터 유형의 예는 다음과 같습니다.

Re: 어느 정도의 자기 상관이 있는 프로세스 데이터를 시뮬레이션하는 방법은 무엇입니까?감사해요, @ih - Random Multivariate Normal() 기능이 작동하는 방식을 이해할 수 있도록 멋진 스크립트를 만들었습니다.이것은 여러 상관 요인을 시뮬레이션하는 데 유용할 것이며 이전에 알고 있었던 것이 아닙니다.
Re: 어느 정도의 자기 상관이 있는 프로세스 데이터를 시뮬레이션하는 방법은 무엇입니까?사과드립니다. 내가 틀렸어. 다중 상관관계(즉, 둘 이상의 변수)가 없습니다. 시계열이 있습니다. 좀 더 살펴보겠습니다.
Re: 어느 정도의 자기 상관이 있는 프로세스 데이터를 시뮬레이션하는 방법은 무엇입니까?약간의 조사 후 몇 가지 메모가 있습니다.
- 값에 약간의 노이즈가 추가되었으며 표준 편차가 1에 가까운 것 같습니다.
- 평균 벡터와 같은 차원으로 평균 벡터와 대칭 공분산 행렬을 정의해야 합니다.
몇 가지 예:
Names Default To Here( 1 );
//Make a dataset from a mean vector, covariance matrix, and number of rows
Make Correlated Table = Function({mv, cm, nr, name = "Data Table"}, {dt},
randmvnMat = Random Multivariate Normal( mv, cm, nr );
dt = New Table( name );
dt << Set Matrix(randmvnMat);
dt << Scatterplot Matrix( Y( dt << Get Column References ), Matrix Format( "Lower Triangular" ), Density Ellipses( 1 ) );
dt
);
dt1 = Make Correlated Table(
mv = [0 1 1 0],
cv = [
1 0 0 0,
0 1 0 0,
0 0 1 0,
0 0 0 1
],
nr = 100,
name = "No Correlation"
);
dt2 = Make Correlated Table(
mv = [0 10 20],
cv = [
1 1 0,
1 1 0,
0 0 1
],
nr = 20,
name = "1-2 Correlated"
);
dt3 = Make Correlated Table(
mv = [0 10 20],
cv = [
1 1 1,
1 1 1,
1 1 1
],
nr = 20,
name = "1-2-3 Correlated"
);
dt4 = Make Correlated Table(
mv = [0 10 20],
cv = [
1.0 0.8 -0.5,
0.8 1.0 0.0,
-0.5 0.0 1.0
],
nr = 20,
name = "Some Correlation"
);
Re: 어느 정도의 자기 상관이 있는 프로세스 데이터를 시뮬레이션하는 방법은 무엇입니까?감사해요, @Mark_Bailey 제안을 위해.이것은 정확히 내가 필요한 것 같지만 제대로 구현하는 방법을 파악하는 데 문제가 있는 것 같습니다.우선 데이터 테이블에 하나의 시뮬레이션된 열을 생성하고 싶습니다.나는 시그마(이 상황에서 이동 범위를 기반으로 하는 제어 차트 시그마) 내의 평균, 전체 공정 표준 편차 및 "자기 상관" 값(배포 플랫폼의 요약 통계에서)을 알고 있습니다.또한 Fit Y by X에서 Lag() 자체(한 행)에 대한 프로세스 매개변수의 상관 관계 값을 얻을 수 있으며 다른 행 지연에 대해 상관 분석을 반복할 수 있습니다.내가 가지고 있는 정보를 바탕으로 공식을 구성하는 방법을 이해하도록 도와주실 수 있나요?
Re: 어느 정도의 자기 상관이 있는 프로세스 데이터를 시뮬레이션하는 방법은 무엇입니까?매우 감사합니다, @ih , 제안을 위해!이것과 Mark의 아이디어를 모두 시도해 보겠습니다.
Re: 어느 정도의 자기 상관이 있는 프로세스 데이터를 시뮬레이션하는 방법은 무엇입니까?편집: 나는 또한 자기 상관 대신 다중 상관에 대한 제안을 잘못 읽고 제안했습니다. 웁스!
나는 시도하지 않았다 @Mark_Bailey 님의 제안에 따라 동일한 작업을 수행하는 것이 더 쉬운 방법이라고 생각합니다.
주성분을 사용해 보고 잠재 변수에 대한 무작위 값을 생성한 다음 해당 잠재 변수를 기반으로 시뮬레이션된 변수를 계산하고 단변량 오류를 추가할 수 있습니다.

이 방법을 사용하면 자신의 하중, 계수, 분산 및 오류를 찾은 다음 데이터를 그대로 시뮬레이션하여 자신의 프로세스와 유사한 데이터를 만들 수도 있습니다.
다음은 예입니다.
New Table( "Example Correlated Data",
Add Rows( 100 ),
New Column( "Prin 1", Numeric, "Continuous", Format( "Best", 12 ),
Formula( Random Normal( 0, 1 ) )
),
New Column( "Prin 2", Numeric, "Continuous", Format( "Best", 12 ),
Formula( Random Normal Mixture( [-1, 2], [0.3, 0.6], [0.25, 0.75] ) )
),
New Column( "X1", Numeric, "Continuous", Format( "Best", 12 ),
Formula( :Prin 1 * 20 + :Prin 2 * 1 + 5 + Random Normal( 0, 3 ) )
),
New Column( "X2", Numeric, "Continuous", Format( "Best", 12 ),
Formula( :Prin 1 * 2 + :Prin 2 * 1 + 3 + Random Normal( 0, 2 ) )
),
New Column( "X3", Numeric, "Continuous", Format( "Best", 12 ),
Formula( :Prin 1 * -1 + :Prin 2 * 0.3 + 200 + Random Normal( 0, 0.2 ) )
)
)
Re: 어느 정도의 자기 상관이 있는 프로세스 데이터를 시뮬레이션하는 방법은 무엇입니까?이를 위한 함수가 있습니다:
