시뮬레이션 실험시뮬레이션 실험을 하고 싶고, 12개의 확률 변수를 생성하고, 각 변수에는 100개의 관측값이 포함되어 있어 변수가 이질성 문제를 일으키고 정규 분포를 따르고 싶습니다.
실험은 10,000번 반복됩니다.
# JMPpro로 이 작업을 수행하는 방법을 모르겠습니다.
감사해요
고급 통계 모델링윈도우Re: 시뮬레이션 실험"변수의 분산을 이질적으로 만드는 방법"은 각 열에 다른 시그마가 필요하다는 의미입니까? 무작위로 선택된 12개의 시그마 값이 필요합니까?
"이분산성 문제" - 이는 mu를 기반으로 시그마를 변경하는 기능을 염두에 두고 있다는 의미입니까? 그리고 아마도 무작위로 mu를 선택하는 기능이 있을까요? (여기에는 전문 지식이 없으며 30초 동안 읽은 후 추측만 합니다.)
내 생각에는 중첩된 for 루프를 사용하여 이 작업을 수행하고 싶을 것입니다. 내 원래 제안은 너무 간단합니다. 열 수식을 사용할 수도 있지만 JSL 스크립트를 사용하는 것이 관리하기 더 쉽습니다. 중첩 루프는 다음과 같습니다
m = J( 100 * 10000, 12, 0 );
for(row=1, row<=nrows(m), row+=1,
for(col=1, col<=ncols(m), col+=1,
m[row,col] = HSD(row,col);
);
);<BR /><BR />dt = astable(m)<BR /><BR />...
실제로 원하는 대로 "HSD" 사용자 작성 함수를 작성해야 합니다.
분석이 수행할 작업을 결정할 때까지 10000회 반복을 2회 또는 3회 반복으로 변경할 수도 있습니다. 요약은 모든 10,000개의 분석을 데이터 테이블에 포함하므로 요약을 사용했습니다. 플랫폼을 10,000번 실행하고 일부 결과를 얻은 다음 플랫폼을 닫을 수도 있습니다. JMP의 메모리가 부족해지기 때문에 10,000개의 플랫폼을 동시에 여는 것을 원하지 않습니다.
Re: 시뮬레이션 실험귀하에게
먼저, 도움을 주셔서 진심으로 감사드립니다.
사실 위의 스크립트는 제가 원하는 것과 비슷합니다.
하지만 변수를 이종 분산으로 만드는 방법을 모르겠습니다.
다음과 같이 스크립트를 수정하는 방법을 모르겠습니다.
확률 변수의 수 = 12
각 변수의 관측치 수 = 100
그리고 그 결과 변수는 이분산성 문제를 겪고 있습니다.
실험을 10,000번 반복할 수 있음
문안 인사
Re: 시뮬레이션 실험이런 검색을 확인해 보세요 https://www.google.com/search?q=site%3Ajmp.com+이분산성 커뮤니티에서 좋은 답변을 얻을 수 있는 이전 질문을 찾으려면 Google 검색 GUI에서는 다음을 사용하여 그렇게 할 수 있습니다. 사이트:jmp.com 결과를 제한하려면:
site:jmp.com Heteroscedasticitysite:jmp.com Heteroscedasticity사이트:jmp.com 이분산성
저는 통계학자가 아닙니다. 위의 데이터는 무작위입니다. 당신이 가리키는 소스는 데이터가 계절에 걸쳐 일종의 반복을 가져야 한다고 제안합니다. 완전히 무작위는 아닙니다. 1..12가 해당 연도의 월을 나타내는 경우 1월 열, 2월 열을 갖는 것이 의미가 없을 수 있습니다. 날짜 열과 값 열을 갖는 것이 훨씬 더 합리적일 수 있습니다.
| 날짜 |
값 |
| 2020/01 |
7 |
| 2020/02 |
6 |
| 2020/03 |
8 |
나는 올려다보았다 이분산성 난수를 생성하는 데 다른 접근 방식이 필요하여 실제로 해당 특성을 나타낼 것으로 의심됩니다. 그렇지 않으면 위 그래프에서 볼 수 있듯이 흥미롭지 않은 무작위이지만 mu와 sigma는 무작위 정규로 전달됩니다.
그냥 추측하고 탈출구를 찾으면 됩니다... 제 생각에는 무작위 mu(보통? 균일?)와 해당 뮤를 기반으로 하는 시그마를 생성한 다음 RandomNormal(mu,sigma)를 사용해야 할 것 같습니다. 아니면 제가 완전히 틀렸을 수도 있습니다.
Re: 시뮬레이션 실험
출처:
무작위 계수 주기적 자기회귀(repec.org)
Re: 시뮬레이션 실험귀하에게 크레이지_헤일즈
도와주셔서 정말 감사합니다.
저는 시뮬레이션 실험을 하고 싶었습니다.
확률 변수의 수 = 12
각 변수의 관측치 수 = 100
그리고 그 결과 변수는 이분산성 문제를 겪고 있습니다.
# 10,000번 실험 반복 가능
Re: 시뮬레이션 실험요약이 좋은 시작일 수 있습니다.
</CODE></P>
<PRE><CODE class=" language-jsl">dt = As Table( J( 100 * 10000, 12, Random Normal( 0, 1 ) ) );
dt << New Column( "group", formula( Floor( (Row() - 1) / 100 ) + 1 ) );
dt << runformulas;
dt:group << deleteformula;
dt << Go To( group );
dt << Move Selected Columns( To first );
dtsummary = dt << Summary(
Group( :group ),
Mean( :Col1 ),
Min( :Col1 ),
Max( :Col1 ),
Std Dev( :Col1 ),
Mean( :Col2 ),
Min( :Col2 ),
Max( :Col2 ),
Std Dev( :Col2 ),
Freq( "None" ),
Weight( "None" )
);
dtsummary << Graph Builder(
Size( 653, 452 ),
Show Control Panel( 0 ),
Variables(
X( :group ),
Y( :"Mean(Col1)"n ),
Y( :"Min(Col1)"n, Position( 1 ) ),
Y( :"Max(Col1)"n, Position( 1 ) ),
Y( :"Std Dev(Col1)"n, Position( 1 ) ),
Y( :"Mean(Col2)"n, Position( 1 ) ),
Y( :"Min(Col2)"n, Position( 1 ) ),
Y( :"Max(Col2)"n, Position( 1 ) ),
Y( :"Std Dev(Col2)"n, Position( 1 ) )
),
Elements(
Points(
X,
Y( 1 ),
Y( 2 ),
Y( 3 ),
Y( 4 ),
Y( 5 ),
Y( 6 ),
Y( 7 ),
Y( 8 ),
Legend( 7 )
)
)
);
</CODE></P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Color!" style="width: 812px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="Color!" style="width: 812px;"><span class="lia-inline-image-display-wrapper" image-alt="Color!" style="width: 812px;"><img src="https://us.v-cdn.net/6038925/uploads/images/41991iFA52067AFA73F318/Untitled%204%20By%20%28group%29%20-%20Graph%20Builder.png" role="button" title="Untitled 4 By (group) - Graph Builder.png" alt="Color!" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Color!</span></span><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">Color!</SPAN></SPAN><SPAN class="lia-inline-image-caption" onclick="event.preventDefault();">색상!</SPAN></SPAN></P></LINGO-BODY><LINGO-SUB id="lingo-sub-481697" slang="en-US" mode="NONE">Re: 시뮬레이션 실험</LINGO-SUB><LINGO-BODY id="lingo-body-481697" slang="en-US" mode="NONE"><P>이질성 문제가 무엇인지는 모르지만 나머지는 다음과 같을 수 있습니다.</P>
<P> </P>
<PRE><CODE class=" language-jsl">dt = As Table( J( 100 * 10000, 12, Random Normal( 0, 1 ) ) );
dt << New Column( "group", formula( Floor( (Row() - 1) / 100 ) + 1 ) );
dt << runformulas;
dt:group << deleteformula;
dt << Go To( group );
dt << Move Selected Columns( To first );
그룹 변수를 사용하여 분석을 수행합니다.
12 million random normal numbers12 million random normal numbers1,200만 개의 임의의 일반 숫자