| 스피커 |
성적 증명서 |
| 케일럽 킹 |
안녕하세요, 저는 케일럽 킹입니다. JMP에서 실험 설계 그룹의 연구 통계 개발자로 일하고 있습니다. |
| |
오늘은 JMP를 사용하여 복잡한 모델링 시나리오에 대한 검정력 계산을 수행하는 방법에 대해 이야기하겠습니다. 간단히 다시 설명드리자면, 검정력이란 모집단에 존재한다고 생각되는 과학적으로 유의미한 차이를 감지할 확률입니다. |
| |
그리고 이는 해당 모집단에서 추출한 현재 데이터 양을 고려했을 때 그것을 감지할 확률입니다. |
| |
대부분의 사람들은 검정력 계산을 할 때, 보통 연구에 필요한 표본 크기를 결정하기 위해 합니다. 물론, 이는 직접적인 연관성이 있습니다. |
| |
둘 다 동점입니다. 샘플 수가 많을수록 과학적으로 유의미한 차이를 감지할 가능성이 높아집니다. |
| |
물론, 그 외에도 여러 요인이 작용합니다. 사용 중인 모델과 응답 분포 유형 등이 그 예입니다. |
| |
물론 모집단에는 잡음과 불확실성이 존재하지만, 대부분의 사람들은 표본 크기를 결정하는 기준으로 검정력을 사용합니다. 이제, 대략 세 단계로 나눌 수 있다고 말씀드리겠습니다. |
| |
전력 계산을 비롯한 모든 사항은 JMP에서 다룹니다. 특히 제가 여기서 사용할 JMP Pro를 사용한다면 더욱 그렇습니다. |
| |
첫 번째 단계는 설계 진단 메뉴의 DOE 항목 아래에 있는 표본 크기 및 검정력 계산기를 사용하는 간단한 모델링 상황입니다. |
| |
그리고 이것들은 매우 간단한 다양한 시나리오를 포괄합니다. 예를 들어, 하나 또는 두 개의 표본 평균을 검정하는 경우, 또는 여러 평균을 사용하는 분산 분석(ANOVA) 유형의 설정 등입니다. |
| |
비율, 표준 편차. 대부분의 사람들이 검정력 계산을 생각할 때 떠올리는 것들이죠. 그래서 당연히 다시 한번 노이즈를 명시해야 합니다. |
| |
오류율, 매개변수, 감지하려는 차이점, 그리고 특정 검정력을 계산하려면 필요한 표본 크기를 알 수 있습니다. |
| |
또는 좀 더 자세히 살펴보고 싶다면 두 필드를 모두 비워둘 수도 있습니다. 그러면 거듭제곱 곡선을 얻을 수 있습니다. 물론, 이것들은 비교적 간단한 시나리오입니다. 다음 단계는 보다 일반적인 선형 모델로 다룰 수 있는 내용이라고 할 수 있겠습니다. 따라서 이 단계를 종료하면 됩니다. |
| |
이 경우, 포괄적인 맞춤 디자인 메뉴에서 여기로 이동할 수 있습니다. |
| |
제가 가장 좋아하는 효과 개수를 넣어볼게요. |
| |
계속 버튼을 클릭하겠습니다. |
| |
그리고 저는 모든 것을 여기에 남겨두고 떠나겠습니다. |
| |
그럼 디자인을 만들어 볼게요. |
| |
이 시점에서 모델에서 예상되는 계수를 기반으로 검정력 분석을 수행할 수 있습니다. 예를 들어, 이 특정 설계에서 12회 미만의 실험 횟수로 이 계수를 감지할 수 있는 검정력은 약 80%라고 나올 수 있습니다. 만약 이보다 조금 더 작은 계수를 감지하려고 한다면 어떨까요? |
| |
물론 그 값을 바꾸고 변경 사항을 적용할 수도 있죠. 하지만 제 권한이 그렇게 크지는 않아요. 그래서 정말 제가 원하는 게 그거라면, 몇 가지 변경을 해야 할 수도 있겠네요. 어쩌면 실행 크기를 늘려야 할지도 모르겠어요. |
| |
그래서, 이것들이 우리가 검정력 계산을 할 수 있는 가장 일반적인 두 가지 상황이지만, 물론 현실은 그렇게 단순하지 않습니다. 더 복잡한 상황에 직면할 수도 있고, 혼합 효과 요인이 있을 수도 있고, 검정력을 계산해야 하는 종단 연구를 수행해야 할 수도 있습니다. |
| |
응답이 더 이상 일반적인 확률 변수가 아닌 경우, 즉 카운트 데이터, 이진 응답 또는 0/1 유형의 제한된 응답(예: 백분율 응답)을 접하게 될 수 있습니다. |
| |
그렇다면 간단한 검정력 계산기나 DOE 메뉴조차 사용하기 어려울 정도로 복잡하다면 어떻게 해야 할까요? 바로 JMP Pro가 그 해결책을 제시합니다. JMP Pro에는 원클릭 시뮬레이션이라는 도구가 포함되어 있습니다. |
| |
여기서 핵심은 몬테카를로 시뮬레이션 방식을 통해 데이터를 시뮬레이션하여 특정 설정에서 얻을 수 있는 전력을 추정하는 것입니다. |
| |
그리고 꽤 간단합니다. 모델링 플랫폼에 따라 최소한 약간의 초기 작업이 필요할 수도 있습니다. |
| |
하지만 일단 요령을 터득하면, 꽤 간단하게 할 수 있어요. |
| |
그리고 솔직히 말씀드리자면, 저는 여기에서 일하기 전까지 JMP가 이런 기능을 할 수 있다는 사실조차 몰랐습니다. 그래서 제가 발견한 것을 여러분과 공유하게 되어 기쁩니다. |
| |
좋습니다. 그럼 표준 선형 모델을 좀 더 간단하게 확장해서 혼합 효과를 포함시킨 모델부터 시작해 보겠습니다. |
| |
자, 그럼 시작해 볼까요? 한 회사가 세포 배양에서 양성자 단백질 생산량을 향상시키려고 합니다. 양성자가 아니라 단백질이죠. |
| |
온도, 시간, pH. 혼합 비율도 고려해야 할 요소입니다. |
| |
물과 두 가지 성장 인자. 자, 이 단계에서 멈춘다면 아마도 맞춤형 설계 플랫폼에서 제공하는 전력 계산기를 여전히 사용할 수 있을 겁니다. |
| |
우리가 기존 방식과 차이를 보이는 지점은 이제 무작위 효과 요인을 도입하는 시점입니다. 우리는 전체 기술자 표본을 대표하는 세 명의 기술자, Bob, Di, Stan을 두고 있습니다. |
| |
그리고 그들은 적어도 세 가지 혈청 배치 중 하나를 사용할 것이며, 이는 우리가 그것들을 무작위 효과로 취급하지 않는 한 그들이 사용할 수 있는 모든 혈청 배치를 대표하는 것입니다. |
| |
또한 무작위 블록화 효과도 있습니다. 이 경우 테스트는 이틀에 걸쳐 진행됩니다. 이제 원클릭 시뮬레이션과 JMP Pro를 사용하여 이 경우의 전력 소모를 계산하는 방법을 보여드리겠습니다. 디자인을 열려면 클릭하세요. |
| |
제가 만든 디자인이 바로 이것입니다. 창을 확대해서 모두 보여드릴게요. 이 디자인은 일반적으로 디자인을 완성했을 때 나타나는 결과물을 보여줍니다. |
| |
다시, |
| |
이 시점에서 '응답 시뮬레이션'을 클릭하여 몇 가지 반응을 시뮬레이션해 볼 수도 있었습니다. 하지만 클릭하지 않았더라도 괜찮습니다. |
| |
이를 쉽게 재현할 수 있는 방법은 새 열을 만드는 것입니다. 지금은 열 이름을 바꾸지 않고 간단한 수식을 만들겠습니다. |
| |
왼쪽으로 가세요. 무작위, 무작위, 보통을 클릭하세요. |
| |
모든 설정을 기본값으로 두고 적용을 클릭하세요. 확인 |
| |
자, 이제 무작위 잡음 데이터와 시뮬레이션된 응답 데이터가 있습니다. 좋습니다. |
| |
이 시점에서 마우스 오른쪽 버튼을 클릭하고 복사를 선택하겠습니다. |
| |
그리고 마우스 오른쪽 버튼을 클릭하여 붙여넣으면 제 답변 열을 가져올 수 있습니다. |
| |
이제 제가 필요한 건 어떤 형태의 응답뿐입니다. 단순한 무작위 노이즈면 충분합니다. 아직 데이터를 분석하려는 게 아니니까요. 우리가 원하는 건... |
| |
적합 모델 플랫폼을 사용하여 시뮬레이션 공식을 만드는 데 사용할 모델을 생성하겠습니다. 그 방법은 다음과 같습니다. 먼저 모델 아래로 이동합니다. 제가 여기서 약간의 사전 작업을 했습니다. |
| |
자, 제가 이미 여기에 모델을 만들어 놓았습니다. 어떻게 만들었는지 보여드리기 위해, 여기 재실행 분석 아래의 재실행 메뉴로 들어가겠습니다. |
| |
자, 여기 보시면 제 반응 단백질 수율, 고정 효과, 그리고 몇 가지 무작위 효과가 있습니다. |
| |
저는 모든 걸 다 했고, 모든 게 꽤 표준적인 방식으로 진행됐어요. |
| |
보시다시피 여기에는 많은 것들이 있지만, 우리는 이것들에 신경 쓸 필요가 없습니다. 우리는 모델을 만드는 데에만 관심이 있습니다. 모델을 만드는 방법은 빨간색 삼각형 메뉴 아래에 있는 부분으로 들어가는 것입니다. |
| |
저장된 열로 이동합니다. 이제 어떤 열을 선택하는지 주의해야 합니다. 여러분도 아마 예측 수식을 선택하고 싶을 텐데, 좋습니다. 하지만 보시다시피 그것만으로는 원하는 결과를 얻을 수 없습니다. |
| |
수식을 보면, 이건 평균 예측 수식인데, 랜덤 효과에 대한 내용은 전혀 없네요. 그러니까 제가 원하는 열이 아니에요. 완전하지 않고 필요한 모든 내용이 들어있지 않아요. 나중에 다시 와야겠어요. |
| |
다시 '열 저장'으로 이동하여 아래로 스크롤하여 '조건부 예측 수식'을 찾고, 마우스 오버 도움말에서 '랜덤 효과 추정치'가 포함되어 있음을 확인하세요. 제가 원하는 기능이 바로 이것입니다. |
| |
어떤 경우에는 랜덤 효과에 대한 검정력을 계산하고 싶지 않을 수도 있습니다. 평균 모델에 대해서만 검정력을 계산하고 싶을 수도 있습니다. |
| |
맞춤 디자인 플랫폼으로 돌아가서 원하는 방식으로 작업할 수도 있었을 겁니다. 우리가 그런 무작위 효과에도 관심이 있다고 가정해 봅시다. |
| |
이제 우리는 그들의 조건부 예측 공식을 저장했습니다. |
| |
다시 한번, 들어가서 공식을 살펴보겠습니다. |
| |
여기서 보시다시피 무작위 효과가 있습니다. 이제 원하는 시뮬레이션 결과를 얻기 위해 몇 가지 조정을 해야 합니다. 그래서 여기를 더블 클릭하겠습니다. |
| |
이렇게 하면 JMP 스크립팅 언어 형식으로 변환됩니다. |
| |
자, 먼저 주요 효과들을 좀 수정해 보겠습니다. 몇 가지 값을 정해볼 건데요. 음, 온도 값을 0.5로 해볼까요? |
| |
시간은 0.1입니다. |
| |
pH는 1.2로 조금 더 높게 해봅시다. |
| |
물의 경우, 저는 더 높은 값을 사용하겠습니다. 즉, 계수가 더 클 수 있다는 뜻입니다. 그래서 물의 경우 85로 하겠습니다. |
| |
90개 할게요 |
| |
성장의 첫 번째 성장 요인을 알아보겠습니다. 50으로 계산해 보겠습니다. |
| |
성장 인자도요. 알겠습니다. |
| |
좋습니다, 이제 주요 평균 모델 부분에 대한 조정을 마쳤습니다. 다시 말씀드리지만, 이러한 매개변수들은 과학적으로 중요하다고 생각되는 것들입니다. |
| |
자, 이제 무작위 효과에 대해 이야기해 볼까요. 아마 이런 식으로 바꾸고 싶으실 수도 있겠죠. 좋습니다. 이게 바로 무작위 효과입니다. 그래서 여기에 무작위 일반 효과를 넣어 보겠습니다. |
| |
그리고 그럴듯해 보이지만 정확하지는 않습니다. 그 이유는 이 수식이 행별로 평가되기 때문입니다. 어떤 일이 벌어지냐면, 질이라는 이름을 가진 기술자를 처음 만났을 때 발생할 겁니다. |
| |
여기서 임의의 값을 시뮬레이션하면 해당 공식 평가에 대한 값을 얻게 되지만, 다음에 감옥에 갈 때는 그렇지 않을 겁니다. 여기에 6이라고 적었습니다. |
| |
이렇게 하면 다른 값이 시뮬레이션되므로 무작위 효과의 목적이 무의미해집니다. 무작위 효과는 매번 동일한 값을 가져야 합니다. 질이 나타납니다. |
| |
이는 마치 무작위 오류와 같은 효과를 낼 것이며, 이 기회를 빌어 말씀드리자면, 우리는 모든 행마다 이 값을 변경하고 싶습니다. 그렇다면 이 문제를 어떻게 해결할까요? |
| |
제가 이 말씀을 드리는 이유는 실제로 제가 처음 이 내용을 발표했을 때 약간 민망한 실수를 저질렀기 때문입니다. |
| |
다행히 동료가 함께 와줬고, 나중에 랜덤 효과를 적절하게 입력하는 방법을 알려주는 요령을 알려줬습니다. 그 요령은 바로 이거예요. |
| |
이제 맨 위로 올라가서 if row라고 입력할게요. |
| |
1과 같습니다 |
| |
저는 'tech Jill'이라는 이름의 변수를 만들겠습니다. |
| |
자, 이제 여기에 놓겠습니다. |
| |
이 트릭을 사용하면 이 무작위 일반 항목이 기술적인 질로 대체됩니다. |
| |
이렇게 하면 첫 번째 행인 경우 무작위 변수를 생성하고 해당 변수의 값을 이 매개변수의 해당 값에 할당합니다. |
| |
첫 번째 행에서는 다시 시뮬레이션을 수행하지 않으므로, 기술적인 측면에서 질은 처음에 주어진 값을 유지하고 해당 값을 배치하는 모든 위치에서 그 값을 그대로 유지합니다. |
| |
그래서 우리도 그렇게 하겠습니다. |
| |
밥을 위해 |
| |
보시다시피, 이것은 무작위 효과라는 목적을 달성할 것입니다. |
| |
Stan의 경우 BOB을 여기에 넣으면 상황이 조금 더 쉬워집니다. 모델에서 무작위 효과의 합이 0이 되어야 하므로 BOB에 대해서는 시뮬레이션을 할 필요가 없습니다. |
| |
그래서 우리는 그런 방식으로 합니다. |
| |
우리는 그를 반대편으로 만든다. |
| |
다른 효과들 중 일부입니다. |
| |
첫 번째 세럼 배치에 대해서도 동일한 작업을 수행하세요. |
| |
자, 이번에는 좀 더 노이즈를 넣어볼게요. |
| |
소음이 좀 더 심하다고 가정해 봅시다. |
| |
세럼 로트 |
| |
이 접근 방식의 장점은 다양한 시나리오를 시험해 볼 수 있다는 것입니다. |
| |
여기에 해당 값을 입력하세요. |
| |
좋아요. |
| 케일럽 킹 |
그리고 이것도요. |
| |
다른 것들도 몇 가지 있습니다. 그리고 다른 하나를 추가하기 전에, 편의상 첫날부터 여기에 추가해 두겠습니다. |
| |
첫날부터 부정적인 결과였습니다. |
| |
그리고 여기에 무작위 효과라는 점을 덧붙이고, 이것이 무작위 효과라고 말하겠습니다. |
| |
저는 타이핑할 수 있습니다 |
| |
크기가 조금 더 작습니다. |
| |
좋습니다. 이제 시뮬레이션 공식이 완성되었어야 합니다. 확인을 클릭하면 공식 편집기 화면으로 돌아갑니다. |
| |
이제 문제 없을 겁니다. |
| |
좋습니다, 이것이 바로 시뮬레이션 공식입니다. |
| |
자, 다음으로는 무엇을 할까요? 다시 적합성 모델로 돌아가 보겠습니다. |
| |
그리고 우리는 전력을 시뮬레이션하고 싶은 지역으로 이동할 것입니다. |
| |
여기서 고정 효과 검정 상자 아래로 이동하겠습니다. 여기 이 열은 p값인데, 이 경우 원래 노이즈 시뮬레이션에서는 p값이 나오지 않았습니다. 괜찮습니다. 우리는 그 값은 신경 쓰지 않습니다. |
| |
모델을 생성하는 데 필요한 것은 이것뿐이었고, 그 모델을 시뮬레이션 공식으로 변환했습니다. 이 열 아래에서 마우스 오른쪽 버튼을 클릭하겠습니다. 참고로, 이 기능은 JMPed Pro가 있어야만 작동합니다. |
| |
그리고 맨 아래쪽에 시뮬레이션이라는 게 있습니다. 그걸 클릭해 볼게요. |
| |
그러면 어떤 열을 바꿀지 물어볼 겁니다. 기본적으로 응답 열이 선택되고, 그 다음 모든 시뮬레이션 수식 열을 찾습니다. 우리는 시뮬레이션 모델이 포함된 이 열을 선택해야 합니다. |
| |
샘플 수를 알려주고 100개를 하도록 하세요. |
| |
제가 가장 좋아하는 랜덤 시드를 입력할게요. |
| |
그리고 저는 확인을 클릭합니다. |
| |
잠깐만 기다려 주세요, 1~2초 정도요. |
| |
자, 이제 다 됐습니다. |
| |
그래서 시뮬레이터 응답이 담긴 표가 생성되었습니다. 모델에 잘 맞는 거죠. |
| |
그리고 P값을 보고하고 있습니다. P값이 없는 경우도 있는데, 그런 경우에는 처음에 예상했던 결과가 그대로 유지됩니다. 하지만 시뮬레이션에서는 충분한 표본 수만 있다면 그런 상황도 괜찮습니다. |
| |
자, 좋은 점은 JMPed가 우리가 P값을 시뮬레이션하고 있다는 것을 알아차렸다는 것입니다. 그래서 바로 검정력 분석을 할 수 있도록 스크립트를 제공해 주었습니다. JMP, 고마워요. |
| |
저희가 그걸 실행해 보면 배포 플랫폼과 매우 비슷하게 보일 겁니다. 그러니까 각 행, 아니, 열의 분포를 보여주는데, 시뮬레이션된 전력을 보여주는 새로운 표가 추가된 거죠. 저희가 시뮬레이션을 하기 때문입니다. |
| |
사무실에서 추정된 검정력을 읽어볼 수 있는데, 만약 100이 아니라 다른 숫자라면 기각률을 살펴볼 수 있습니다. 여기 세 가지 혼합 계수를 보면, 우리가 가진 모든 것을 고려했을 때 검정력이 상당히 좋은 것 같습니다. |
| |
특정 계수들을 감지하기 위해서입니다. 나머지 세 가지 요인을 살펴보면 상황이 그렇게 좋지는 않습니다. |
| |
그럼, 우리는 다시 돌아가서 이렇게 말해야겠죠, 알겠습니다. |
| |
최대값이 얼마인지 다시 확인해 봐야겠네요. 그래서 이 값들을 최소화해 보겠습니다. |
| |
테이블을 최소화합니다. 제 공식으로 돌아가서 다른 방법을 시도해 보겠습니다. |
| |
여기서 뭔가 색다른 걸 해보세요. |
| |
만약 이걸 바꾸면 어떻게 될까요? 이게 5점 정도였는데, 만약 1점 정도 더 높으면 어떻게 될지 궁금하네요. |
| |
당분간은요. 어디 보자, 그것도 하나로 만들어 볼까요? |
| |
pH 4에서 3으로 낮춰볼게요. pH를 조금 높여서, 음, 이걸 감지할 수 있는지 확인해 보죠. |
| |
나머지는 모두 그대로 두겠습니다. 이미 감지할 수 있다는 것을 알고 있기 때문입니다. '적용'을 클릭하면 새로운 오류가 발생하는 것 같습니다. |
| |
다시 한번, 똑같은 방법입니다. 빠른 시뮬레이션을 실행하려는 열 아래를 마우스 오른쪽 버튼으로 클릭하면 빠른 시뮬레이션이 전환됩니다. |
| |
주어진 샘플 수를 고려하면, 그대로 두는 것이 좋습니다. |
| |
같은 씨앗입니다. |
| |
그럼 우리는 갈게요 |
| |
시뮬레이션이 완료될 때까지 몇 초만 기다리시면 됩니다. |
| |
여기 있네요. |
| |
그리고 전력 분석을 다시 실행하겠습니다. |
| |
여기도 마찬가지인 것 같네요. 아무것도 바꾸지 않았어요. 그래서 사실, 이 그룹들을 묶으려고 합니다. 너무 많이 묶었네요. 자, 이제 이 세 개를 숨기겠습니다. |
| |
이것들을 살펴보죠. pH 쪽에서는 좀 더 나은 결과를 얻은 것 같으니, 이 샘플 크기를 고려했을 때 검출 가능한 상한값이 1일 가능성이 있습니다. |
| |
하지만 시간에 따른 온도 변화는 높은 값조차도 아직 감지하지 못하는 것 같습니다. 음, 그럼 뭘 바꿔볼 수 있을까요? 샘플 수를 두 배로 늘리면 어떨까요? 우리는... |
| |
표본 크기에 맞춰 이를 계산해 보겠습니다. 다시 돌아가서 한 가지 방법을 살펴보겠습니다. [설계 증강]을 클릭하면 됩니다. |
| |
우리가 고려해야 할 모든 요소를 선택할 것입니다. |
| |
저희 답변을 선택해 주세요. |
| |
확인을 클릭하세요. |
| |
디자인을 보완하기만 하면 됩니다. |
| |
이번에는 두 배로 늘려서 24로 만들겠습니다. |
| |
그럼 제가 디자인을 하겠습니다. |
| |
그리고 시간이 좀 걸릴 거예요. 그래서 저는 실제로 |
| |
조금 이르네요. |
| |
자, 그럼 테이블을 만들어 볼까요? |
| |
좋아요, 이제 우리는 실행 횟수를 두 배로 늘렸습니다. |
| |
그리고 |
| |
그래서 응답이 절반밖에 안 나왔어요. 괜찮아요. 어차피 응답 하나만 필요하니까요. 이걸 복사해서 붙여넣을게요. |
| |
그리고 붙여넣기 |
| |
실제 상황에서는 그렇게 하고 싶지 않겠죠. 왜냐하면 다른 반응을 얻을 수 있을 테니까요. 하지만 다시 말하지만, 우리는 단지 잡음이 섞인 반응을 얻기 위해 모델로 가야 합니다. 이번에는 몇 가지를 수정해야 합니다. 속성 아래에 있는 이 세 가지를 선택하고, 랜덤 효과가 있다고 가정해 보겠습니다. |
| |
모든 설정을 그대로 유지하세요. 실행을 클릭하세요. |
| |
시뮬레이션 수식이 아직 없다는 것을 알게 되었지만, 일일이 다시 만드는 대신 새 열을 만들었다가 이전 열로 돌아갈 수 있습니다. |
| |
마우스 오른쪽 버튼을 클릭하고 열 속성 복사를 선택합니다. |
| |
돌아와서 마우스 오른쪽 버튼을 클릭하고 '열 복사본 붙여넣기'를 선택하면 이제 수식이 준비됩니다. 자, 그럼 처음에 가지고 있던 값을 유지하면서 이 상황에서 수식을 적용하면 어떻게 될까요? |
| |
그럼 다시 돌아가서, 이걸 더블 클릭해서 피팅 모델 창을 열게요. |
| |
고정 효과 검정 항목으로 이동하여 마우스 오른쪽 버튼을 클릭하고 p값에 동의하는 시뮬레이션을 선택하세요. |
| |
저는 이것을 바꾸지 않을 겁니다. 왜냐하면 시뮬레이션은 하나뿐이었고, 제가 원하는 시뮬레이션을 실행했는데 올바른 결과를 얻었기 때문입니다. |
| |
그럼 이것들을 바꾸겠습니다. |
| |
이 경우에는 어떻게 되는지 봅시다. |
| |
괜찮은. |
| |
검정력 분석을 실행하세요. 다시 말씀드리지만, 저는 이 부분에 대해서는 신경 쓰지 않을 겁니다. |
| |
혼합 효과 때문이죠. 보시다시피, 원래도 이미 좋았는데 더 좋아졌으니까요. 그래서 다시 숨기겠습니다. |
| |
그래서 우리는 이 경우 pH에 관심이 있었던 것을 더 쉽게 알 수 있습니다. 이전 12번의 실험에서도 이미 충분한 성능을 보였기 때문에 이번에는 더 나은 결과를 얻을 수 있을 거라고 예상했습니다. |
| |
시간이 지남에 따라 온도가 확실히 개선된 것 같습니다. 따라서 이것이 우리가 관심을 갖는 효과 크기의 상한선을 나타낸다면, 더 낮은 상한선을 알고 싶을 수도 있고, 이는 표본 크기를 두 배로 늘리면 도움이 될 수 있음을 시사하는 것 같습니다. |
| |
이것들은 우리가 원클릭 시뮬레이션을 어떻게 사용할 수 있는지 보여주는 예시입니다. 우선, 원클릭 시뮬레이션을 하는 방법을 알아보겠습니다. |
| |
그리고 나서 이를 활용하여 검정력 계산을 하고 무언가를 하도록 유도하는 방법을 알려드립니다. 저는 JMP를 사용하기 전에도 종종 사람들에게 선택권을 주고 탐색하도록 했습니다. 표본 크기가 온도와 시간에 영향을 미치는 것으로 나타났습니다. |
| |
찾고자 하는 것을 바꾸면 pH 조절에 도움이 되는 것 같고, 혼합물 효과도 괜찮은 것 같으니 계속 살펴보세요. |
| |
따라서 여기에는 예를 들어 무작위 효과 추정치의 분산을 수정하는 것도 포함될 수 있습니다. |
| |
예를 들어, 제가 다시 여기로 돌아올 수도 있겠죠. 물론 그렇게 하진 않겠지만요. 하지만 이 값들을 바꿔서, 예를 들어 혈청 배치별로 변동성이 적은 반면 기술자들의 작업 속도가 조금 더 빠르면 어떻게 될지 생각해 볼 수 있습니다. 예상치 못한 상황에도 테스트 계획이 더 안정적으로 작동하도록 여러 가지 시나리오를 찾아보는 거죠. |
| |
좋아요, 그럼 제가 청소할게요. |
| |
이 모든 항목을 닫아주세요. |
| |
괜찮은. |
| |
나머지 시나리오에서는 이 기능을 구현하는 다양한 방법을 살펴보겠습니다. 기본적인 접근 방식은 동일합니다. 설계를 하고 응답을 시뮬레이션하는 것입니다. |
| |
우리는 적합한 모델을 만들거나, 이 경우에는 약간 다른 플랫폼을 사용하여 모델을 생성합니다. |
| |
그런 다음 해당 모델을 사용하여 시뮬레이션 공식을 만들고, 그 공식을 사용하여 원클릭 시뮬레이션 방식을 실행할 수 있습니다. |
| |
자, 이제 한 회사가 직원 이직에 영향을 미치는 요인을 파악하기 위해 직원 설문조사를 실시한다고 가정해 보겠습니다. 예를 들어, |
| |
그 회사에는 퇴사 예정인 직원이 많습니다. 그래서 어떤 요인들이 퇴사에 영향을 미치는지, 그리고 얼마나 많은 직원이 응답했는지 등을 파악하여 향후 계획을 세우기 위해 설문조사를 실시하려고 합니다. |
| |
지금까지 회사의 여러 답변들을 살펴봤지만, 두 가지 작은 문제점이 있었습니다. 첫째, 직원이 퇴사하려면 최소 한 달 이상 근무해야 자연 감소로 간주된다는 점입니다. |
| |
그리고 또 하나는 답변이 연 단위로 나오는데, 우리는 월 단위로 더 관심이 있을지도 모른다는 점입니다. 몇 개월이나 될까요? 아마 예산 관리 소프트웨어가 그런 식으로 작동하는 것 같습니다. |
| |
그리고 아시다시피, 직원들에게는 몇 년 동안 회사에 근무했는지 묻는 것이 몇 개월이나 몇 개월 동안 근무했는지 묻는 것보다 대답하기가 더 쉬울 수도 있습니다. |
| |
이 경우에는 기간 검열이 발생합니다. 몇 년 동안 그곳에 있었는지는 주어졌지만, 그 기간과 그로부터 1년 사이의 기간만 알 수 있기 때문입니다. 또한, 1년 전에 퇴사하는 경우에는 1개월과 1년 사이의 기간에서 검열이 발생합니다. |
| |
자, 그럼 무대 테이블을 열어보세요. 제가 이미 많은 것을 설정해 두었습니다. 여기에는 여러 가지 요소가 있고, 맨 아래로 스크롤하시면 우리가 살펴보고 있는 반응들을 보실 수 있습니다. |
| |
다시 말씀드리지만, 연도별 최저치와 최고치가 있습니다. 즉, 직원이 6년 만에 퇴사했다고 응답했다면, 실제 재직 기간은 개월 수로 따지면 6년에서 7년 사이라는 뜻입니다. |
| |
만약 그들이 1년 전에 떠났다면, 우리는 그들이 그곳에 한 달에서 1년 사이에 있었다는 것을 알 수 있습니다. |
| |
여기 있는 대화 상자 버튼을 클릭해서 구간 검열을 시작하겠습니다. 일반 플랫폼을 사용할 것이고, 응답은 가변 분포를 따른다고 가정하겠습니다. |
| |
구간 검열을 사용하기 때문에 여기에 검열 코드를 넣지 않습니다. 저희는 두 응답 열을 모두 y에 넣는 방식으로 처리합니다. |
| |
곧 보시게 될 겁니다. 네. 그리고 여기 모든 요소들이 보이는데, 실행 버튼을 클릭하면 JMP는 이를 시간-이벤트 분포로 인식합니다. 두 개의 응답 열을 제공했다면, 이 경우에는 간격 감각 분석을 하고 있는 건가요? 네, 그렇습니다. |
| |
자, 이제. |
| |
우리도 같은 과정을 거칠 겁니다. 올바른 빨간색 삼각형을 찾을 거예요. 이 경우에는 와이블 최대 우도 옆에 있습니다. 자, 여기서 정말 좋은 점이 있습니다. |
| |
생성 플랫폼. 이미 훌륭한 점이 많지만, 여기에 몇 가지 더 장점을 더해 보겠습니다. |
| |
이걸 클릭하면, 예전처럼 예측 공식을 저장하고, 무작위성을 확보하고, 시뮬레이션되는 것이 무작위인지 확인하고, 필요에 따라 몇 가지 조정을 해야 했던 것과는 다릅니다. |
| |
하지만 이는 일반적인 경우입니다. |
| |
원클릭 시뮬레이션 기능을 사용할 수 있다는 것을 알고 있으므로, 시뮬레이션 결과를 저장하시겠습니까? 라고 묻습니다. 그러면 "네, 저장하겠습니다."라고 답이 나옵니다. 따라서 "시뮬레이션 수식 저장"을 클릭합니다. |
| |
우리 테이블로 돌아가자. |
| |
그리고 보시면 아시겠지만, 평온한 상황은 한 번만 시뮬레이션되었습니다. 그 이유에 대해서는 잠시 후에 좀 더 자세히 설명드리겠습니다. 우선 간단하게 확인해 보겠습니다. |
| |
자, 여기 있습니다. 제가 더블 클릭해서 스크립팅 언어를 불러오면, 이미 랜덤 위젯으로 설정되어 있고, 모델 변환도 이미 포함되어 있는 것을 보실 수 있을 겁니다. |
| |
이 시점에서 여러분이 해야 할 일은 이러한 매개변수 값을 여러분에게 과학적으로 의미 있는 값으로 변경하는 것뿐입니다. |
| |
좋아요, 하지만 이번 경우에는 그렇게 하지 않겠습니다. 그냥 그대로 두겠습니다. 다만 한 가지 변경 사항은 적용해 보고 싶습니다. |
| |
우리가 실제로 사용할 상황들을 살펴보겠습니다. 여기를 보세요. 실제로는 깔끔하게 둥근 연도 값을 얻어야 하는데, 이 값들은 모두 연속적인 값입니다. 제가 그렇게 할 수 있는 방법은 다음과 같습니다. |
| |
이건 몇 년 단위예요. 안녕하세요, 간단한 변수를 만들어서 실제 연속 시간과 같게 설정하되, 값의 상한값을 반환하도록 하겠습니다. |
| |
그러니까 기본적으로 반올림하는 거죠. |
| |
겹. 좋아요. 자, 이렇게 하면 됩니다. |
| |
보시다시피, 이것은 제가 당신의 것을 모방했다는 것을 의미합니다. 안녕하세요. 자, |
| |
에게 |
| |
보시다시피, 원클릭 시뮬레이션 결과가 모두 여기에 있습니다. 효과 테스트 결과를 열어볼게요. |
| |
마우스 오른쪽 버튼을 클릭하고 '시뮬레이션'을 클릭해도 한 번에 한 열만 선택할 수 있습니다. 따라서 드래그해서 두 개 이상의 열을 선택할 수 없습니다. |
| |
자, 제가 당신의 것이었던 시절의 이 장소만 시뮬레이션해 본다면, 괜찮아 보이네요. 문제는 올해의 최저 기온입니다. 올해의 최저 기온은 원래 모델에 포함되어 있었기 때문에 지금 반영되고 있는 겁니다. |
| |
하지만 돌이켜보면 원래 사용했던 기간이 짧아서 문제가 보이네요. 잠깐만요, 이 부분은 빨리 마무리하겠습니다. |
| |
예를 들어, 우리가 그렇게 한다면, 첫 번째 결과는 맞지 않을 겁니다. 왜냐하면 올해 최고 기온이 당신의 결과보다 낮기 때문입니다. 올해 최저 기온은 시뮬레이션 결과와 연결되어 있지 않습니다. 그렇다면 어떻게 해결해야 할까요? 연결해야 합니다. 그럼 당신의 결과, 최저 기온을 살펴보겠습니다. |
| |
수식을 클릭할게요. 이미 수식이 있는데, 간단하게 수정만 하겠습니다. |
| |
제가 시뮬레이션 공식을 더블 클릭해서 실행했다고 말씀드리겠습니다. |
| |
더블 클릭이 하나입니다. 그래서 수년 동안 최대 112의 반환값을 기록했습니다. |
| |
그렇지 않으면 시뮬레이션 값에서 1을 뺀 값을 반환합니다. |
| |
이제 확인을 클릭하고 적용하세요. |
| |
보시다시피 이제는 제대로 연결되어 있습니다. |
| |
이제 돌아갈 수 있겠네요. |
| |
마우스 오른쪽 버튼을 클릭하고 시뮬레이션을 실행한 다음, 연도별 최고값을 시뮬레이션 공식으로 대체하면 연도별 최저값이 적절하게 나올 것이라는 것을 확신할 수 있습니다. 이미 1년 전 값이 아닌 이상 항상 1년 전 값이 나오며, 이미 1년 전 값인 경우에는 112가 됩니다. |
| |
그래서 이제 그것은 시뮬레이션과 연결되어, 시뮬레이션을 진행할 때 항상 포함되게 될 것입니다. |
| |
잠깐 시뮬레이션을 돌려볼게요. |
| |
자, 됐습니다. 속도가 좀 느리네요. 좋은 징조입니다. |
| |
끝나도록 놔둘게요 |
| |
좋습니다. 이것이 바로 저희 시뮬레이션입니다. |
| |
물론 우리는 전력 분석을 실행할 수 있습니다. 이 경우에는 고려해야 할 요소가 많으며, 제 생각에는 1400 70이라는 수치가 이를 뒷받침하는 데 영향을 미쳤을 것입니다. |
| |
그중 상당수는 과잉 대응입니다. |
| |
하지만 놀랍게도 그중 일부는 여전히 문제가 있습니다. 그래서 우리가 감지하지 못하는 아주 낮은 계수를 파악하기 위해 조사해 볼 가치가 있을지도 모릅니다. |
| |
기획 회의에서 논의해야 할 이러한 요소들에 대해 कुछ 변경해야 할 수도 있습니다. |
| |
그러니까 이런 경우처럼 구간 검열이 있는 경우에는 이렇게 처리해야 합니다. 만약 우측 검열이 있었다면 검열 열이 있었겠죠. |
| |
당신도 마찬가지일 겁니다. 실제 시간에 대한 시뮬레이션 결과를 출력할 것이고, 거기서 몇 가지 조정을 할 수 있을 겁니다. |
| |
응답에서 보이는 시간 유형이나 예상하는 시간과 일치하는지 확인하기 위해서입니다. 그런 다음 검열 열을 시뮬레이션에 연결해야 하며, 이는 해당 설정이 있을 때마다 발생합니다. |
| |
좋아요. |
| |
이 모든 걸 명확히 정리해 봅시다. |
| |
그럼 다른 하나를 살펴보겠습니다. |
| |
비정상적인 응답이 발생하면 어떻게 될까요? 이미 하나를 살펴봤습니다. 신뢰성 유형의 응답을 봤죠. 따라서 생성 기능을 사용할 수 있다는 것을 알고 있으니, 다른 예를 빠르게 살펴보겠습니다. 이 경우에는 정상적인 응답이 있습니다. |
| |
시험입니다. |
| |
이 시스템은 무기의 반응에 대해 백분율로 나타낼 수 있습니다. 기술적으로는 이를 정규 분포로 모델링할 수 있습니다. |
| |
그리고 그 값이 대략 50% 정도일 거라고 예상한다면 괜찮을지도 모릅니다. |
| |
하지만 아닙니다. 우리는 이것이 매우 정확한 무기 플랫폼이 되기를 원하기 때문에 100%에 가까운 응답률을 기대합니다. |
| |
그래서 베타 분포 반응과 같은 것이 더 적절할 수도 있습니다. 한 가지 문제가 있습니다. 우리가 관심을 갖는 세 가지 요인이 있는데, 그중 하나가 문제입니다. 목표 요인이 퓨즈 유형 안에 중첩되어 있습니다. 따라서 목표 요인의 유형은 퓨즈 유형에 따라 달라집니다. |
| |
케이스가 이 작업을 아주 빠르게 처리할 겁니다. 다시 말씀드리지만, 저희는 이미 데이터를 생성했습니다. |
| |
이 경우에는 0과 1 사이의 값을 갖는 무작위 데이터를 시뮬레이션했습니다. 이는 무작위 정규 분포에 로지스틱 변환을 적용하는 간단한 방법으로 구현했습니다. |
| |
좋아요. |
| 케일럽 킹 |
복사하겠습니다 |
| |
반죽. |
| |
붙여넣기가 가능한지 확인해 주세요. |
| |
그리고 다시 한번, 그 과정을 살펴보세요. |
| |
아주 간단해요. |
| |
베타 응답을 사용할 겁니다. 응답이 있습니다. 미래 유형 안에 목표가 중첩되어 있습니다. |
| |
실행을 클릭하세요. |
| |
그리고 다시 빨간색 삼각형이 나타났습니다. 많은 사람들이 열을 통해 시뮬레이션 수식을 저장한다고 말합니다. 그리고 이것이 일반적인 적합 모델 생성에서 가능한 작업이지만, 아쉽게도 일반 적합 모델에서는 그렇게 할 수 없습니다. |
| |
하지만 우리에게는 시뮬레이션 공식이 있습니다. 저는 아무것도 바꾸지 않을 겁니다. |
| |
하지만 들어가실 수는 있습니다. 보시다시피 구조가 이미 갖춰져 있고, 더블 클릭 기능도 있습니다. 로지스틱 변환도 있고요. 따라서 모델 매개변수만 입력하시면 됩니다. |
| |
실례합니다. |
| 케일럽 킹 |
빨리. 알았어. |
| |
안녕. 알았어. 그럼 다시 내려가자. |
| |
그렇게 하는 겁니다. 자, 그럼 내려가죠. |
| |
효과 테스트, 마우스 오른쪽 버튼 클릭 후 시뮬레이션 |
| |
교체하고 진행하세요 |
| |
자, 보세요, 일반적으로 얼마나 쉬운지. 비정상적인 반응이 나오더라도 말이죠. |
| |
이제 괜찮습니다. 생성해 주셔서 감사합니다. |
| |
좋아요. |
| |
지금, |
| |
만약 종단적 데이터가 있다면 어떨까요? 이는 다소 까다로울 수 있는데, 응답들이 서로 상관관계가 있을 수 있기 때문입니다. 그렇다면 이러한 데이터를 어떻게 효과적으로 활용할 수 있을까요? 방법은 간단합니다. |
| |
이 경우, 콜레스테롤 수치를 낮추는 치료제를 생산하는 회사의 사례가 있습니다. 이것이 치료제라고 가정해 보겠습니다. |
| |
저희는 경쟁사 치료법과 비교하기 위한 연구를 진행할 예정입니다. 연구의 완성도를 높이기 위해 대조군과 위약군을 설정하고, 각 그룹에 5명의 피험자를 포함시킬 것입니다. 종단 연구로서, 측정은 3개월 동안 매달 아침과 오후에 한 번씩 진행됩니다. |
| |
이제 이 부분에 너무 많은 시간을 할애하지 않겠습니다. 세로 방향의 관점을 어떻게 적용하는지 보여드리고 싶기 때문입니다. 이 경우에는 이미 제가 보여드린 것처럼요. |
| |
모델을 만들고 시뮬레이션 공식을 만들었습니다. 이제 이 공식을 참고하여 어떻게 진행할 수 있는지 알아볼 수 있습니다. 예를 들어 AR 모델이 하나 있다고 가정해 보겠습니다. |
| |
그리고 이 부분에 대해서는 잠깐만 말씀드리겠습니다. |
| |
보여드리려고요. 여기 고정 효과가 모두 나와 있습니다. 보시다시피 상호작용이 많죠. 제가 보여드릴 테니 이 점을 염두에 두세요. 수식이 좀 복잡해 보일 수도 있습니다. |
| |
당신은 |
| |
반복되는 구조가 있다고 했습니다. 그래서 AR 하나를 선택했습니다. |
| |
주제 내에서 일 단위로 기간을 정했습니다. 좋습니다. 다음 모델 플랫폼에서요. |
| |
그렇다면 그 1시대를 내 시뮬레이션 공식에 어떻게 통합할까요? 저는 이렇게 했습니다. |
| |
첫 번째 줄이거나 신규 환자인 경우, 현재 환자가 이전 환자와 같지 않다는 의미입니다. |
| |
이건 제가 저장한 모델인데, 관심 있을 만한 값으로 매개변수 값을 변경했어요. 복잡하고 상호작용이 많아서 작업 시간이 좀 걸렸습니다. |
| |
끝부분에 약간의 잡음이 섞여 있긴 하지만, 제가 한 건 그게 전부입니다. 여기서 몇 가지 값을 변경했는데요, 간단하게 0으로 많이 바꿔봤습니다. |
| |
첫 번째 행이 아니거나 신규 환자가 아닌 경우, 상관관계를 어떻게 반영해야 할까요? 제가 한 일은 그 모델을 여기까지 복사하고 이 항을 추가하는 것뿐입니다. |
| |
그냥 임의의 값입니다. 제 생각에는 이 값은 1보다 작거나, 이전 값의 1배와 같아야 합니다. |
| |
만약 그것이 자기회귀적이라면, 지연과 같은 것을 추가해야 할 것입니다. |
| |
심 공식 |
| |
그리고 첫 번째 행인지, 아니면 두 번째 행인지, 또는 새 환자의 두 번째 위치인지 등을 파악하기 위해 또 다른 조정을 해야 할 겁니다. 다른 것이라면 AR처럼 보일 수도 있고, 그렇지 않다면 다시 돌아가야 할 겁니다. |
| |
보시다시피, 모델의 형태만 알고 있다면 자기상관 구조를 통합하는 것은 매우 쉽습니다. 시뮬레이션 공식으로 구현하는 것도 간단할 것입니다. |
| |
좋아요. |
| 케일럽 킹 |
잠깐만 살펴보세요. |
| |
마지막으로, |
| |
마지막 시나리오는 합격/불합격 응답인데, 이 또한 매우 흔한 경우입니다. 이 예시를 통해 원클릭 시뮬레이션 기능을 활용하여 특정 유형의 설계 실행 방식에 대한 사람들의 생각을 어떻게 바꿀 수 있는지, 그리고 이 기능이 얼마나 강력한지 보여드리겠습니다. |
| |
의도한 바가 아닙니다 |
| |
방사성 물질을 탐지하는 시스템을 개발 중이라고 가정해 보겠습니다. 그리고 이미 현장에 나와 있는 다른 시스템과 비교해 볼 것입니다. |
| |
그래서 우리는 이 두 가지 검출 시스템을 비교할 것입니다. 우리는 매우 낮은 농도인 1부터 매우 높은 농도인 5까지 다양한 농도의 물질과 테스트 대상물을 일정량 선택했고, 테스트를 진행할 것입니다. |
| |
저희 시스템은 각 농도에 대해 일정 횟수만큼 반복적으로 작동하여 경보가 성공적으로 울리는 횟수를 확인합니다. |
| |
저는 이 두 개를 모두 열어볼 거예요. |
| |
이것부터 시작해 볼까요? 이것은 전형적인 설계 방식을 보여줍니다. 보시다시피 각 설정별로 샘플 수가 균형 있게 분포되어 있습니다. 이 경우에는 샘플 수가 상당히 많죠. 다행히도 이곳은 샘플 수가 많아서 이런 설계를 하게 된 겁니다. |
| |
각 실행마다 32번의 균형 실험을 한다고 가정해 봅시다. 이것은 시뮬레이션된 반응입니다. 네, 그렇게 가정해 보겠습니다. 그리고 여기에 제가 만든 시뮬레이션 공식이 있습니다. |
| |
자, 그럼 이게 어떤 모습인지 보여드리겠습니다. 다시 말하지만, 무작위 이항분포입니다. 모두 똑같습니다. 그래서 여기에 숫자를 그대로 뒀지만, 시행 횟수 열의 알람이 독립적인 일관성에서 비롯된다는 점을 참조할 수도 있었겠죠. 하지만 괜찮습니다. |
| |
제가 관심 있을지도 모르는 모델을 하나 보여드릴게요. |
| |
좋아요. |
| |
그리고 여기. |
| |
제 상황에서는 균형 잡힌 수치를 유지하는 대신, 각 설정값에 대부분의 샘플을 중간에 몰아넣었습니다. |
| |
제 생각에는 농도가 낮으면 효과가 있을 수도 있겠지만, 포착될 거라고는 기대하지 않습니다. 현실적인 기대를 갖고 있는 겁니다. |
| |
농도가 높으면 거의 항상 감지될 겁니다. 그래서 제게 가장 중요한 차이점은 중간 농도, 아마도 3~4가지 농도에서 나타나는 차이일 겁니다. |
| |
그래서 여기에 대부분의 샘플을 로드하고, 여기에 몇 개 더 추가하겠습니다. 그리고 다른 설정에는 최소한의 샘플만 넣겠습니다. 각 테스트 플랜이 양식별로 어떤 검정력을 가지는지 살펴보겠습니다. |
| |
자, 여기서 이항 모델 스크립트를 실행하세요. 그러면 이항 모델이 실행될 겁니다. 여기에는 시스템이라는 하나의 모델 효과만 있습니다. 농도는 넣지 않는데, 농도에 효과가 있다는 것을 이미 알고 있기 때문입니다. 우리가 관심 있는 것은 바로 이 효과입니다. |
| |
이항분포를 생성합니다. |
| |
빨간색 삼각형 메뉴가 나타나면 다시 실행해 보세요. |
| |
저는 이미 시뮬레이션 공식을 가지고 있습니다. |
| |
사실 저는 그럴 필요가 없어요. |
| |
그러니까 이미 패턴을 만들어낸 거네요. |
| |
마우스 오른쪽 버튼을 클릭하고 시뮬레이션을 하시겠습니까? 네, 모든 것이 괜찮아 보입니다. |
| |
제가 다음으로 좋아하는 랜덤 시드입니다. |
| |
자, 이제 전력 분석을 해볼까요? 좋습니다, 그럼 이쪽으로 가보죠. |
| |
똑같은 작업을 하세요. 제가 모델을 적합시키고, 이항분포를 사용할 때도 마찬가지입니다. 경보가 울린 횟수뿐만 아니라 전체 시도 횟수 중 경보가 울린 횟수도 입력해야 합니다. |
| |
스크롤을 아래로 내려 효과 테스트를 실행하세요. |
| |
예비선거에서 앞으로 무슨 일이 일어날지 힌트를 얻을 수 있습니다. |
| |
빨리. 알았어. |
| |
여기 제 시뮬레이션이 있습니다. 병렬 처리 부분을 이리로 옮기고 최소화하세요. 그러면 균형 설계에서 얻을 수 있는 결과가 여기에 있습니다. |
| |
전력이 매우 낮다는 점에 주목하세요. 각 실험마다 32개의 샘플을 사용했는데도 이런 결과가 나온 건 이상하게 느껴집니다. 32개 샘플이면 정말 많은 양인데, 제가 예전에 일했던 곳에서는 이 정도 샘플 수만 있었더라면 정말 좋았을 겁니다. |
| |
그래서 상당한 힘이 필요할 거라고 예상했는데, 여기서는 그렇지 않은 것 같습니다. 샘플의 총 개수는 같았습니다. 단지 할당 방식만 달랐을 뿐입니다. |
| |
그리고 제 전투력이 엄청나게 올라갔어요. 여기에 더 많이 쌓으면 어떨까요? 아니면 4개씩 쌓고 각각에 맞춰 편집하면 어떨까요? |
| |
이 차이를 감지할 수 있는 검정력을 더 높일 수 있습니다. 따라서 이는 단순히 표본 크기를 바꾸는 것만이 항상 더 많은 표본을 필요로 하는 것은 아니라는 것을 보여줄 뿐만 아니라(이 경우에는 애초에 표본이 많았습니다), 표본을 어떻게 배분하는지도 중요하다는 것을 보여줍니다. |
| |
좋아요. |
| |
그래서, |
| |
전력을 계산하는 이 아주 멋진 도구를 발견했을 때 저처럼 여러분도 신나셨으면 좋겠습니다. |
| |
몇 가지 핵심 사항을 말씀드리면서 마무리하겠습니다. |
| |
다시 말씀드리지만, 저희는 시뮬레이션을 사용합니다. 이상적으로는 공식이 있으면 좋겠지만, 민사 소송에서는 간단한 공식을 활용할 수 있다는 장점이 있습니다. |
| |
회귀 모델에도 내부적으로 도움을 주는 공식들이 있습니다. 하지만 물론 현실 세계는 훨씬 더 복잡합니다. 그래서 우리는 일반적으로 시뮬레이션에 의존해야 하는데, 보시다시피 시뮬레이션은 매우 강력한 도구가 될 수 있습니다. |
| |
물론 시뮬레이션에서 가장 중요한 것 중 하나는 정확성과 효율성 사이의 균형을 맞추는 것입니다. 저는 보통 100번 실행했습니다. |
| |
주된 이유는, 아시다시피, 시간을 절약하기 위해서죠. |
| |
하지만 결국에는 실행하는 데 시간이 좀 걸리더라도 기본값인 2500을 고수할 수도 있다는 것을 알게 될 것입니다. |
| |
그래서 제가 제안하고 싶은 것은, 처음에는 100~200회 정도 시뮬레이션을 돌려서 상황을 파악해 보는 것입니다. 그리고 나서 문제가 되는 상황을 발견하면 그때 다시 시뮬레이션을 진행하면 됩니다. |
| |
그렇게 보이는군요. 아니요, 더 조사해 볼 가치가 있습니다. 표본 수를 늘려서 정확도를 높여보세요. |
| |
좋습니다. 그럼 몇 가지 다른 상황을 설정하고 간단한 시뮬레이션을 몇 번 실행해 본 다음, 핵심 설정과 주요 시나리오로 범위를 좁히고 나서 시뮬레이션 횟수를 늘려 정확도를 높이는 방식으로 시작해 보세요. |
| |
저는 실험 설계가 한 번으로 끝나는 것이 아닌 것처럼, 검정력 계산의 중요성을 항상 강조합니다. |
| |
단순히 계산기에 숫자를 몇 개 입력하고 표본 크기를 구하는 것만으로는 충분하지 않습니다. 설계 과정에서 고려해야 할 변수가 많습니다. |
| |
실험에서 어떤 일이 일어날 수 있을까요? 실험을 계획하는 가장 좋은 방법은 다양한 시나리오를 고려하는 것이라고 생각합니다. 따라서 다양한 수준의 노이즈를 탐색해야 합니다. |
| |
답변에서 말씀하셨듯이, 혼합 효과는 다양한 혼합 효과 크기에 따라 달라질 수 있습니다. |
| |
물론 다양한 표본 크기를 탐색할 수도 있지만, 다양한 유형의 모델을 탐색하는 것도 고려해 볼 수 있습니다. 예를 들어, 보편적 중심에서 wible 모델을 사용하는 경우, 일반 모델을 많이 사용했을 때와 비교해 볼 수 있습니다. |
| |
다양한 시나리오를 살펴보고, 이를 시험 계획 담당자에게 제시함으로써 다양한 환경에 대한 연구의 견고성을 검증할 수 있다는 점을 알아두세요. |
| |
그러니까 단순히 계산만 하고 돌아오지 말고, 항상 다양한 시나리오를 가진 등장인물들을 현재 시제로 생각하세요. 제가 사용하는 과정도 똑같습니다. |
| |
실제 실험을 설계하고 진행했습니다. 테스트 참가자들에게 다양한 옵션을 제시하고 탐색해 보도록 했습니다. 참가자들은 하나의 옵션을 선택할 수도 있고, 여러 옵션을 조합할 수도 있습니다. 계획을 더욱 견고하게 만들기 위해서는 항상 이렇게 해야 합니다. |
| |
제가 말씀드렸듯이, 그들은 |
| |
좋습니다. 이 내용을 통해 새로운 것을 배우셨기를 바랍니다. 궁금한 점이 있으면 저에게 문의해 주세요. 제 이메일 주소가 안내되어 있을 겁니다. |
| |
이번 강연이 유익했기를 바라며, 남은 컨퍼런스도 즐겁게 보내시길 바랍니다. 감사합니다. |