안녕하세요 여러분. 저는 데일 휴먼입니다. 위스콘신주 밀워키에 있는 GE 헬스케어에서 엔지니어로 일하고 있습니다. 오늘은 모델 생성, 부트스트래핑을 활용한 예측 결과 평가, 그리고 모델과의 차이에 대해 간략하게 설명드리겠습니다. 더 자세히 알고 싶으시다면 몬테카를로 시뮬레이션을 활용하여 입력 변수의 변화에 따른 시스템의 예상 차이를 더욱 자세히 평가해 보세요. 다양한 내용이 준비되어 있습니다. 자, 시작해 볼까요? 간단한 동기 부여부터 시작해 볼까요?
이 모든 것은 신제품 개발이나 R&D와 같은 상황에서 소규모 표본 규모로 시작하여 몇 가지 테스트를 수행하고, 그 테스트나 측정 결과를 바탕으로 향후 진행 방향이나 시스템이 어떻게 동작할지에 대한 결정을 내리는 상황으로 귀결됩니다. 부트스트래핑이나 몬테카를로 시뮬레이션과 같은 도구를 적용하기에 매우 유용한 영역입니다. JMP에서 이 작업을 수행하는 방법을 살펴보겠습니다.
상당히 간단한 시스템부터 생각해 보겠습니다. 이 경우 클램핑 시스템이 있다고 가정해 보겠습니다. 여기 드라이버가 있습니다. 이 드라이버는 어떤 조립품을 조이는 데 사용됩니다. 나사를 조이는 동안 로드셀을 조립품에 삽입하여 측정합니다. 조립품에 얼마나 많은 힘이 가해지고 있을까요? 아주 일반적인 기계적 응용 분야입니다. 나사에 가해지는 토크를 측정하고 그 토크에서 측정된 힘을 얻는다면, 관계를 구축하여 이 시스템이 미래에 어떻게 동작할지 모델링할 수 있을까요?
샘플 데이터 테이블이 있는데, 여기서 열어 보겠습니다. 여기서 몇 가지 테스트를 수행했는데, 이번에는 나사 구동 장치에 토크를 가하고 힘을 측정하는 9가지 테스트를 했습니다. 힘과 가해진 토크 사이의 관계를 이해하고 싶습니다. 이 경우 모델을 만들어 보겠습니다. 반응 변수가 하나이고 X 인자도 하나, 입력 변수도 토크뿐이므로 YxX 플랫폼 적합을 사용할 수 있습니다.
분석 메뉴로 가서 'Y x X 맞춤'을 선택합니다. 측정된 힘을 반응 변수로, 적용된 토크를 대화 상자의 입력 변수로 입력할 수 있습니다. JMP에서는 변수가 두 개뿐이므로 이변량 분석을 수행한다고 합니다. '확인'을 클릭합니다. JMP처럼 차트, 즉 데이터의 산점도로 시작합니다. 적용된 토크와 측정된 힘 사이의 관계를 시각적으로 확인할 수 있습니다. 보시다시피, 어느 정도 관계가 있는 것 같습니다. 토크를 증가시키면 측정된 힘이 증가하는 경향이 있습니다. 이해가 되시나요?
토크가 점점 더 커지면서 이 부분에서 약간 정체되는 것 같습니다. 이 시스템에서는 상상할 수 있을 겁니다. 어느 시점에서 어셈블리가 완전히 고정되기 때문에 토크를 계속 가해도 힘 측면에서는 큰 도움이 되지 않지만, 그 관계는 확인할 수 있습니다. 모델을 만들어 보겠습니다. 여기 빨간색 삼각형으로 가보겠습니다. 선형 관계에 대해서는 Fit Line을 사용할 수 있지만, 정체 현상이 있다고 생각되면 Fit Special 대화 상자를 사용하겠습니다. 여기서 X축과 Y축에 대한 몇 가지 변형을 선택할 수 있습니다.
이 경우, X의 자연로그를 선택하겠습니다. 이는 이 시스템이 정체기 효과를 가지고 있다는 생각을 포착하는 데 도움이 될 것입니다. 그래서 자연로그를 선택하겠습니다. 또한 여기서 중심화된 다항식 옵션을 껐습니다. 이 옵션을 계속 켜 두셔도 됩니다. 아무것도 바뀌지 않습니다. 방정식을 보는 방식이 달라질 뿐입니다. 지금은 이 옵션을 끄고 "확인"을 클릭하겠습니다. 최적선은 다음과 같습니다. 이는 기본적으로 분석에 적용된 토크의 자연로그와 최적선 곡선을 사용하는 최소제곱 회귀 분석입니다. 데이터와 매우 잘 일치하는 것 같습니다.
좋습니다. 분석 결과를 바탕으로 도출된 방정식이 여기 있으니, 그 결과를 확인할 수 있습니다. 회귀 분석을 해 보셨다면 R 제곱 값을 살펴보셨을 겁니다. R 제곱 값이 여기 있는데, 아주 보기 좋습니다. 90%보다 매우 높습니다. 조정된 R 제곱과 R 제곱은 서로 가깝습니다. 이 경우에는 X가 하나뿐인데, 예상대로 그럴 겁니다.
모델의 표준 편차라고 할 수 있는 평균 제곱근 오차(Root Mean Squared Error)를 살펴보면, 좀 큰 것 같습니다. 보기가 좀 어렵네요. 적용한 적합으로 가서 신뢰도 음영 적합 옵션을 사용해서 적합의 신뢰 구간을 켜 보겠습니다. 모델의 불확실성을 확인할 수 있습니다. 예를 들어, 토크가 100뉴턴 미터라고 가정했을 때, 측정된 평균 힘의 예상 변동폭은 약 1000뉴턴 미터입니다. 이것이 신뢰 구간의 폭입니다.
좀 큰 것 같네요. 아마 데이터 포인트가 9개밖에 없으니 이 모델에 불확실성이 많다고 생각하실 수도 있는데, 아마 그럴 겁니다. 아래에는 매개변수 추정 분석도 있는데, 이는 모델의 매개변수 값, 즉 방정식에 포함된 기울기와 절편 값을 보여줍니다. 또한 이러한 값들의 표준 오차도 파악할 수 있는데, 이는 해당 값들의 불확실성을 정량화한 것입니다.
여기서 절편의 표준 오차가 약 2000뉴턴이고, 기울기 항의 불확도는 기울기 뉴턴당 약 500뉴턴미터라고 할 수 있겠습니다. 앞으로 이 정도의 변동이 실제로 일어날 것으로 예상해야 하는지 알아보고자 합니다. 더 많은 데이터를 수집한다면 불확도가 이렇게 클 것으로 예상할 수 있을까요?
이 모델을 작은 표본으로 만들었다는 점을 고려하면 어떨까요? 이 경우 데이터 포인트는 9개입니다. 실제로 어떤 결과가 나올지 어떻게 예측할 수 있을까요? 아니면 표본이 적어서 모델에서 오차를 과대평가하고 있는 걸까요? 한 가지 방법은 부트스트랩이라는 기법을 사용하는 것입니다.
부트스트랩에 대해 이야기해 보겠습니다. 부트스트랩은 실제로 "간단한" 기법으로, 계산 중인 매개변수 값을 재추정하기 위해 원본 데이터에서 여러 번 리샘플링하는 것입니다. 이 경우, 이 시스템의 향후 예측 불확실성을 더 잘 파악하기 위해 모델의 기울기와 절편을 여러 번 재추정합니다. 이것이 부트스트랩의 기본 개념입니다. 시각적으로, 그림에서 세 개의 데이터 포인트를 보여주고 있습니다. 이 예시에서는 작은 데이터 샘플이 세 개 있습니다.
부트스트래핑은 원래 데이터 세트에서 무작위 표본을 추출하는 것입니다. 여기 이 상자에 무작위 표본 하나가 있고, 이 표본에는 세 개의 데이터 포인트가 있습니다. 하지만 이 경우에는 무작위로 선택했습니다. 행 번호 3은 두 번, 행 번호 1은 한 번 선택했습니다. 행 번호 2는 나타나지 않았습니다. 이 과정을 수백 번, 수천 번 반복해야 합니다. 새로운 표본을 추출할 때마다 시스템에서 찾고자 하는 매개변수를 다시 계산합니다. 이 경우에는 모델의 기울기와 절편 값을 살펴보겠습니다.
관심 있는 매개변수가 무엇이든, 각 샘플에 대해 해당 매개변수를 계산하고, 데이터 세트가 작더라도 예상되는 변동이 무엇인지 이해하기 위해 이 작업을 여러 번 반복합니다. 이것이 부트스트래핑의 기본 개념입니다. 흔히 사용되는 기법이며, 비모수적이기 때문에 유용합니다. 정규성 등에 대한 가정이 없기 때문에 다양한 상황에 적용할 수 있습니다.
표본이 작을 때는 언제든지 이 방법을 사용할 수 있습니다. 다시 말씀드리지만, 이 방법을 고려하는 이유는 모델이나 분석 계산의 오차를 추정하려고 하기 때문입니다. 시스템의 변동을 살펴보기 위해 분산과 같은 방법을 사용하는 경우가 많습니다. 분산은 n 또는 n - 1로 나누는 것을 의미합니다. 표본이 작으면 일반적으로 매우 작은 수로 나누기 때문에 예상했던 변동을 부풀리게 되는데, 데이터를 계속 수집한다면 이는 현실적인 예측이 아닐 수 있습니다. 부트스트래핑은 이러한 상황에서 더 현실적인 변동을 추정하는 방법입니다.
부트스트래핑의 기본 개념은 이렇습니다. 간단한 예로, 우리가 만든 모델로 돌아가기 전에, 예를 들어 여기 있는 값들의 분포를 살펴볼 수 있습니다. 다시 한번, 측정된 힘의 값이 9개 있습니다. 먼저 이 값들에 대한 분포 분석을 해 보겠습니다. 이 예제에서는 '분포 분석' 메뉴로 가서 힘만 살펴보겠습니다. 값들의 분포를 살펴보겠습니다.
여기 있습니다. 요약 통계표가 나오는 것을 보실 수 있는데, 지금은 분위수를 숨기겠습니다. 제가 집중하는 부분은 아니지만, 이 경우 평균값이 약 7,100뉴턴이고 표준 편차가 약 2,000뉴턴인 것을 보면 알 수 있습니다. 데이터 표본이 작기 때문에 표준 편차가 꽤 큽니다. 이 값은 작은 n 값 때문에 부풀려진 것입니다.
이것이 앞으로 우리 모집단의 변동이 될 것이라고 실제로 예상할 수 있는 방법이 있을까요? 모집단에서 9개 단위만 측정했다는 사실을 감안할 때, 이것이 변동에 대한 현실적인 기대치인지 아닌지 파악하기 위해 부트스트래핑을 시도해 볼 수 있을까요? 어떻게 해야 할까요? JMP를 사용하면 매우 간단합니다. 관심 있는 매개변수가 있는 이 표가 있으므로 평균과 표준 편차에 관심이 있습니다. 두 값 모두 이 표에 있으므로 해당 표를 마우스 오른쪽 버튼으로 클릭합니다. 이전에 본 모든 메뉴 항목이 있지만 맨 아래에는 부트스트랩이 있습니다.
이렇게 하면 데이터를 여러 번 재표본 추출할 수 있습니다. 각 개별 샘플에 대해 모든 통계량을 다시 계산합니다. 그런 다음 해당 값의 분포를 살펴보면 샘플 수가 늘어날수록 시스템이 어떻게 동작하는지 더 잘 이해할 수 있습니다. 기본 샘플 수는 2500이므로 JMP는 측정된 힘 값을 보고 원래 9개 값에서 무작위로 9개의 값을 가져옵니다. 그림에서 볼 수 있듯이 동일한 값을 두 번 이상 가져오는 경우도 있습니다.
항상 똑같은 9개의 데이터 포인트를 얻는 건 아닙니다. 부트스트래핑의 장점이 바로 이겁니다. 기본적으로 2,500번 반복됩니다. "확인"을 클릭하고 실행해 보겠습니다. 몇 초밖에 걸리지 않습니다. 계산은 꽤 간단합니다. 매우 복잡한 모델을 사용하는 경우, 많은 수의 데이터를 처리하는 데 시간이 걸릴 수 있다는 점을 알아두세요. 계산량이 매우 많은 모델을 계산하려는 경우, 이 경우에는 평균과 표준 편차만 계산합니다. 매우 간단합니다. 이제 JMP가 생성한 새 데이터 테이블이 있습니다.
2501개의 행이 있는 것을 볼 수 있습니다.원래 데이터를 2500번 리샘플링했기 때문입니다.첫 번째 행은 원래 데이터 자체의 값입니다.그것이 행 0입니다.그리고 나머지 모든 행은 이 표에 있는 각 통계에 대해 계산된 값으로 리샘플링되었습니다.이 모든 값이 같은 표에 있기 때문에 이 부분을 제외하면 JMP는 이러한 모든 통계를 부트스트랩하려고 합니다.이 시점에서는 다른 모든 값에 대해 실제로 신경 쓰지 않습니다.실제로는 평균에 초점을 맞추고 싶습니다.시스템의 평균 성능, 이 경우 평균 힘의 예상 변동이 무엇인지 정말로 알고 싶기 때문입니다.
평균에 집중하겠습니다. JMP는 테이블의 각 변수에 대한 분포 분석을 자동으로 수행합니다. 여기 분포 분석에서 해당 스크립트를 실행하면 모든 변수에 대한 분석이 열립니다. 이제 다시 평균에 집중하겠습니다. Ctrl 키를 누른 상태에서 모든 분포 분석을 숨깁니다. 그런 다음 화면을 좀 더 보기 쉽게 하기 위해 평균을 열고, 이 분포 분석을 여기 분포 분석 옆에 배치하겠습니다.
분위수를 다시 숨기겠습니다. 분위수에 초점을 맞추는 게 아닙니다. 관심 있으실 수도 있겠지만, 여기서 계산된 값을 살펴보면 다음과 같습니다. 여기 이 샘플을 재표본 추출하여 얻은 평균값 2,500개가 있습니다. 평균을 보면 약 7,100뉴턴으로 처음 설정했던 값과 매우 비슷합니다. 하지만 표준 편차는 훨씬 작습니다. 원래 표준 편차는 약 2,100뉴턴이었습니다.
지금은 약 670뉴턴 정도인데, 이는 이 대규모 모집단에서 여러 번 리샘플링했기 때문입니다. 표준 편차 추정치는 아마도 이 모집단의 실제 변동량에 가까워지고 있을 것입니다. 여기서는 표본이 작기 때문에 변동량을 늘리고 있습니다. 동일한 모집단에서 리샘플링하고 있습니다. 이 모든 계산에 사용된 모든 데이터 포인트는 이 9개의 데이터 포인트와 동일한 모집단에서 추출되었는데, 이는 동일한 데이터를 기반으로 하기 때문입니다.
이것은 아마도 이 모집단에서 예상되는 변동을 더 현실적으로 표현한 것 같습니다. 이것이 바로 부트스트래핑의 힘입니다. 이제 여러분은 이렇게 생각하실지도 모릅니다. "부트스트랩 표본을 더 크게 추출하면 표준 편차가 계속 줄어들까요?" 한번 해 봅시다. 원래 데이터로 돌아가겠습니다. 이 표에서 마우스 오른쪽 버튼을 클릭하고 부트스트랩을 선택합니다. 이번에는 10,000개의 부트스트랩 표본을 추출해 보겠습니다. "확인"을 클릭합니다.
다시 실행하는 데 몇 초 정도 걸릴 테니, 그냥 실행해 보겠습니다. 몇 초 이상 걸릴 수도 있습니다. 이제 10,000개의 행이 있는 데이터 표가 있는데, 다시 한번 말씀드리지만 각 행은 동일한 모집단의 다른 표본입니다. 이 표에서 분포를 살펴볼 수 있습니다. 이 표를 열어 보겠습니다. 다시 평균에만 집중하겠습니다. 모든 분포를 닫고 평균을 열어 보겠습니다. 이 표를 다른 창 옆에 배치해 보겠습니다. 죄송합니다. 모두 함께 볼 수 있도록 약간 위치를 조정하겠습니다.
이제 10,000개의 값으로 구성된 부트스트랩 표본이 있습니다. 평균은 여전히 7,100 정도이지만, 표준 편차는 여전히 670 정도라는 것을 알 수 있습니다. 이는 모든 값이 동일한 모집단에서 계산되었기 때문에 놀랄 일이 아닙니다. 모집단은 어느 정도의 평균값을 가지고 있고, 어느 정도의 변동과 표준 편차를 가지고 있습니다. 두 분석 모두 표본 크기가 매우 크기 때문에 이러한 차이가 변하지 않을 것으로 예상해야 합니다.
이번 사례와는 다릅니다. 표본이 매우 작았기 때문이죠. 하지만 이 사례를 통해 앞으로의 변화를 확실히 알 수 있습니다. 2,000뉴턴 범위가 아닌 670뉴턴 범위의 변동을 예상할 수 있습니다. 물론, 여기 하단에는 다양한 신뢰 수준으로 계산된 신뢰 구간이 있는데, 이를 통해 모집단의 예상 변동이 어느 정도인지 가늠해 볼 수 있습니다.
다시 한번, 부트스트랩 표본 값이 서로 매우 유사하고, 작은 표본의 평균에 대한 원래 신뢰 구간보다 약간 더 좁다는 것을 알 수 있습니다. 표준 편차에 대한 더 현실적인 추정치를 사용하고 있기 때문입니다. 이것이 바로 부트스트래핑의 힘입니다. 시스템의 변동성을 파악할 수 있게 해 줍니다. 작은 표본 데이터로 시작했더라도 마찬가지입니다. 이제 부트스트래핑의 기능을 마무리하겠습니다. 이제 부트스트래핑이 어떤 역할을 하는지 기본적인 개념을 알았으니, 이 표를 닫아 마무리하겠습니다.
여기 저널로 돌아가서, 부트스트래핑을 어떻게 하는지 살펴보았고 그 결과를 보여드렸습니다. 표준 편차는 크게 변하지 않아야 합니다. 평균도 크게 변하지 않아야 합니다. 왜냐하면 이 값들은 애초에 데이터가 추출된 모집단을 나타내기 때문입니다. 이것이 부트스트래핑의 개념입니다. 다시 모델로 돌아가 보겠습니다. 저 부분을 열어서 이 모델에도 같은 작업을 할 수 있습니다. 이 모델에서는 최소제곱 회귀 모델의 기울기와 절편의 모수에 대한 추정값을 계산했습니다. 문제는 이 추정값의 오차가 이렇게 커야 한다고 생각하는가입니다.
이 추정값도 해당 힘들의 평균을 구했던 것처럼 부트스트랩할 수 있습니다. 다시 말씀드리지만, 표의 추정값 열을 마우스 오른쪽 버튼으로 클릭하고 부트스트랩을 선택한 후 원하는 개수를 선택하기만 하면 됩니다. 이번에는 좀 더 빠르게 계산하기 위해 2500으로 설정하겠습니다. 계산하는 데 몇 초 정도 걸립니다. 이제 다시 2500개의 값으로 구성된 표가 완성되었습니다. JMP에서 생성한 분포 분석을 살펴보겠습니다. 이 분석에는 두 개의 값만 있는데, 절편과 기울기에 대한 추정값만 있었기 때문입니다.
다시 한번 Control 키를 누른 상태에서 두 키를 동시에 닫아서 분위수를 숨기겠습니다. 여기서 절편의 표준 오차는 약 2000뉴턴이고, 기울기의 표준 오차는 약 450뉴턴입니다. 부트스트랩에서 무엇을 얻었을까요? 부트스트랩 표본의 표준 편차를 보면 여전히 약 2000, 이 경우 2200입니다. 마찬가지로 기울기의 부트스트랩 표준 편차는 약 475로 약간 다르지만 최소 제곱 회귀 분석에서 얻은 원래 값인 452와 비슷합니다. "잠깐만요. 부트스트랩이 도움이 되지 않았는데."라고 생각하실 수도 있는데, 맞습니다. 이 경우에는 부트스트랩이 큰 도움이 되지 않았습니다.
사실 예상했던 결과입니다. 최소제곱 회귀를 떠올려 보면, 최소제곱 회귀는 모델의 분산을 최소화하는 적합값을 선택하도록 설계되었기 때문입니다. 기울기와 절편 추정값에 대한 이러한 값은 모델의 오차를 최소화하기 위해 특별히 선택되었습니다. 최소제곱 회귀의 경우, 부트스트래핑은 큰 도움이 되지 않습니다. 알고 보니, 이 예시를 모델에 부트스트래핑을 적용하는 방법의 예로 사용하고 싶었습니다.
이제 오차 추정치를 제공하지 않는 다른 모델링 기법을 사용하고 있다면, 신경망 분석이나 주성분 분석을 사용하고 있을 수 있습니다. 분석 결과에서 예상 변동이나 표준 오차를 직접적으로 알 수 없다면, 부트스트래핑을 사용하여 해당 모델의 오차를 파악할 수 있습니다. 여기서는 부트스트래핑이 큰 도움이 되지 않는다는 것을 보여드리겠습니다. 최소제곱 분석은 변동을 최소화하도록 설계되었기 때문에 부트스트래핑은 일반적으로 최소제곱 분석에서 얻는 결과와 일치합니다.
이 개념은 모든 모델링 기법에 적용됩니다. 다시 말하지만, 부트스트래핑은 매개변수적 접근 방식이 아니기 때문입니다. 데이터가 어떻게 분포하는지에 대한 어떤 가정도 하지 않습니다. 이 개념은 여러분이 사용하고 있는 모든 종류의 모델링 기법에 적용될 수 있습니다. 최소제곱 회귀의 오차를 이해하는 데 모델링, 아니, 부트스트래핑을 활용할 수 있는 한 가지 방법입니다. 하지만 그다지 유용하지는 않습니다. 만약 여기서 힘의 경우처럼 평균의 변동만 이해하고 싶다면, 더 자세한 모델링을 하기 전에 부트스트래핑을 사용하여 "좋아요, 앞으로의 변동에 대한 더 현실적인 감각을 얻어보겠습니다."라고 말할 수 있습니다. 이런 식으로도 사용할 수 있습니다.
이것이 바로 부트스트래핑의 개념입니다. 가장 간단한 형태로 보여드렸는데, 평균값의 예상 변동을 살펴보겠습니다. 또한, 부트스트래핑을 사용하여 모델 추정값의 오차를 이해할 수 있습니다. 최소제곱법뿐만 아니라 다른 기법들도 활용할 수 있습니다. 부트스트래핑은 이러한 측면에서 유용할 수 있습니다.
시스템에 미치는 변동의 영향을 평가할 수 있는 또 다른 방법은 몬테카를로 시뮬레이션입니다. JMP를 사용하면 몬테카를로 시뮬레이션을 매우 간편하게 수행할 수 있습니다. 이는 모델링 플랫폼의 일부입니다. 몬테카를로 시뮬레이션에 대해 살펴보겠습니다. 몬테카를로 시뮬레이션은 기본적으로 무엇을 할까요? 모델, 또는 일반적으로 방정식이 있다고 가정해 보겠습니다. 여기서는 분석을 통해 모델 방정식을 개발했습니다. 여기에서도 동일한 모델입니다. 몬테카를로 시뮬레이션을 통해 해당 모델의 입력 변수에 변동을 주입하고, 그 변동이 출력 변수, 즉 반응 변수에 미치는 영향을 평가할 수 있습니다.
입력 값에 어떤 유형의 변화가 있을 것이라고 가정하는 것입니다. 예를 들어, 이 경우, 적용된 토크가 관심 값을 중심으로 일정 표준 편차를 갖는 정규 분포를 따른다고 가정합니다. 제가 선택한 분포에서 많은 수의 값을 무작위로 선택한 다음, 이 방정식에 그 많은 수의 값을 대입하여 출력을 계산해 보겠습니다. 그러면 입력 값이 어떻게 변하는지 확인할 수 있을 것입니다. 예상 출력은 다음과 같습니다. 이것이 몬테카를로 시뮬레이션의 기본 개념입니다.
다시 말하지만, 일반적으로 많은 수의 샘플에 대해 이 작업을 수행하여 응답에서 예상되는 변동을 이해하는 데 도움이 됩니다.JMP를 사용하면 출력에 다른 종류의 변동을 주입할 수도 있습니다.여기서는 이에 대해 설명하지 않겠습니다.그냥 여러분에게 선택권이 있다는 것을 알아두세요.몬테카를로와 JMP를 어떻게 실행할까요?매우 간단합니다.모델이 있으면 됩니다.이 경우 최소 제곱 모델을 구축했습니다.모델 적합으로 이동하여 프로파일러를 켭니다.여기서 시작합니다.이전에 프로파일러를 본 적이 있다면, 그것은 이전 분석에서 바로 결정된 모델 방정식의 그래픽 표현일 뿐이며, 입력 값 X를 가지고 놀고 그것을 변경하면 Y에 어떤 일이 일어나는지 이해할 수 있습니다.
프로파일러에서 할 수 있는 또 다른 작업은 몬테카를로 시뮬레이션입니다. 프로파일러의 빨간색 삼각형을 클릭하면 시뮬레이터를 켤 수 있습니다. 바로 몬테카를로 시뮬레이터입니다. 이 시뮬레이터를 사용하면 X 값이 어떻게 변하는지 지정할 수 있습니다. 그러면 해당 값에 따라 반응 변수에 어떤 변화가 생기는지 확인할 수 있습니다. 아래 드롭다운 메뉴에서 X 값의 변화량, 즉 인가 토크를 선택할 수 있습니다. 여기서는 무작위(random)를 선택하겠습니다. 그런 다음 무작위를 선택하면 해당 입력 값의 변화에 사용할 분포를 지정할 수 있습니다.
예를 들어, 이 시스템을 125뉴턴 미터로 작동시키고 싶다고 가정해 보겠습니다. 이 값이 일반적인 토크 값입니다. 사용하려는 토크 렌치를 사용하여 몇 가지 간단한 측정을 수행했고, 125뉴턴 미터로 프로그래밍하면 일반적으로 125뉴턴 미터가 되지만 표준 편차는 3뉴턴 미터라고 가정했습니다. 예상 값에 대한 평균과 표준 편차를 입력할 수 있습니다.
그러면 여기 있는 시뮬레이션 버튼을 클릭하기만 하면 JMP가 큰 수를 계산합니다. 여기 아래 상자에 입력한 숫자만큼 계산합니다. 이 경우에는 10,000개의 값을 계산했습니다. JMP는 정규 분포에서 평균이 125이고 표준 편차가 3인 10,000개의 값을 무작위로 추출했습니다. 이전에 결정된 모수 추정값을 사용하여 이 10,000개의 값을 모두 모델 방정식에 대입하고 모든 변수에 대한 반응값을 계산합니다. 이 분포는 그 결과가 어떻게 될지 보여줍니다.
이 보기에서는 차트의 크기가 너무 좁아서 약간 축소되어 있는데, 원하시면 확장할 수 있습니다. JMP에서 값을 표로 표시하도록 설정할 수도 있습니다. 여기 아래에 시뮬레이션할 표가 있습니다. 이 표를 열고 "표 만들기" 버튼을 클릭하겠습니다. 정규 분포에서 무작위로 선택된 10,000개의 서로 다른 인가 토크 값이 여기에 있습니다. 이 값들을 방정식에 대입하여 힘을 계산하는 데 사용했습니다.
JMP가 여기에 저장된 분포 분석을 다시 한번 수행했습니다. 이제 열어 보겠습니다. 측정된 힘의 분포를 보여드립니다. 이 분포는 좀 더 해상도가 높아서 시스템에서 어떤 일이 일어나고 있는지 확인할 수 있습니다. 측정된 힘의 분포는 가정된 분포에 따라 적용된 토크의 입력 변동이 어떤 영향을 미치는지 보여주지만, 그 변동이 반응에 어떤 영향을 미치는지 확인할 수 있게 해줍니다.
이제부터 공정 능력 분석, 허용 오차 구간 분석 등 여러분이 관심을 가질 만한 다양한 작업을 수행할 수 있습니다. 이 모든 작업은 입력값의 변화에 따른 반응의 변화를 파악하는 데 도움이 됩니다. 여기서 어떤 작업을 할지는 여러분의 선택에 달려 있습니다. 과거 데이터를 활용할 수 있기를 바랍니다. 이 시스템에서 사용하는 토크 렌치를 살펴보셨을 겁니다. 네, 토크는 이 분포에 따라 달라지므로, 적절한 매개변수를 사용하여 적절한 분포를 선택할 수 있습니다.
시스템에서 무슨 일이 일어나고 있는지 생각해 보고, "이 값들 사이에서는 균일한 분포를 따라야 한다"라고 말할 수 있는 전문 지식이 있을 수도 있고, 물론 모델이기 때문에 추측할 수도 있습니다. 확실하지 않다면, 어떤 종류의 정규 분포를 가정하여 어떤 일이 일어나는지 확인해 보세요. 그러면 관심 있는 다양한 가정 분석을 수행할 수 있습니다. 이것이 바로 몬테카를로 시뮬레이션입니다. JMP에서 매우 간단하게 수행할 수 있습니다. 부트스트래핑과 함께 이 두 가지 기법을 사용하면 부트스트래핑을 위한 소규모 표본이나 출력에 어떤 일이 일어나는지 평가하기 위한 입력의 알려진 변동을 기반으로 시스템의 변동을 평가할 수 있습니다.
여기서 몇 가지 다른 내용에 대해 이야기했습니다. 부트스트래핑은 작은 표본을 기반으로 하더라도 시스템 변동에 대해 예상되는 바를 파악하는 데 사용할 수 있는 기법입니다. 몬테카를로 분석을 통해 모델의 입력에 변동을 주입하여 해당 모델의 출력에도 어떤 영향을 미칠지 파악할 수 있습니다. 매우 일반적인 기법이며, 널리 사용되고 강력합니다. 모델을 구축하면 매우 유용한 도구들을 활용할 수 있습니다. 오늘 제가 이야기할 내용은 바로 이것입니다. 감사합니다.