스피커
|
성적 증명서
|
| 조슈아 W 램버트 |
안녕하세요. |
| 로빈 고프리 |
안녕하세요 저는 Robin me josh입니다. |
| |
예. |
| 로빈 고프리 |
네오. |
| 조슈아 W 램버트 |
네, 만나서 반가워요. 죄송합니다. PowerPoint를 여기에서 여는 것뿐입니다. |
| 로빈 고프리 |
괜찮아. |
| |
공동 발표자가 있습니까? |
| 조슈아 W 램버트 |
아니요. |
| 로빈 고프리 |
좋습니다. 여기 목록을 아래로 내려갈 것입니다. 그래서 우리는 이것을 녹음하고 있습니다. 그래서 당신이 녹음되고 있다는 것을 구두로 확언할 수 있도록 합니다. |
| |
예. |
| 로빈 고프리 |
휴대폰 인터넷 알림은 무음입니다. |
| 조슈아 W 램버트 |
예. |
| 로빈 고프리 |
네, 저는 Windows 작업 표시줄과 그 모든 것, 그리고 이메일이 중간에 사라지는 것과 같다고 생각합니다. |
| 조슈아 W 램버트 |
그리고 내가 모든 것을 껐다고 생각하지 않습니까? 그들은 전에 그렇게 할 필요가 없었습니다. |
| 로빈 고프리 |
작업 표시줄에 있는 것 같아요. |
| |
여기 보자. |
| |
이메일을 닫고 괜찮을 것입니다. |
| |
괜찮아. |
| 조슈아 W 램버트 |
타코를 얻었다. |
| 로빈 고프리 |
좋아, 여기 숨어있을게. |
| |
이렇게 하려면 매번 이 작업을 수행할 때마다 좋아해야 합니다. |
| 조슈아 W 램버트 |
그럼. |
| |
프레젠테이션이 진행되는 한 여러분은 제가 시작할 때부터 잘릴 것입니다. |
| |
네, 그리고 당신이 물어볼 질문이 있거나. |
| 로빈 고프리 |
아니요, 아니요. 평소처럼 프레젠테이션을 하면 됩니다. |
| |
슬라이드와 모든 것을 불러온다는 것을 알 수 있습니다. |
| |
먼저 이야기한 다음 슬라이드를 불러오고 싶다면 다시 시작해야 하는 경우 괜찮습니다. 저에게 알려주시면 큰 문제 없이 처리할 수 있습니다. |
| |
좋아, 당신은 당신이 카메라와 같은 작은 클립입니다. 당신이 정말로 가깝기 때문에 조금이라도 백업 할 방법이 있습니까? |
| |
나는 당신의 얼굴 전체를 보는 것조차 좋아하지 않습니다. |
| 조슈아 W 램버트 |
내가 잊었다는 것을 알기 위해. |
| 로빈 고프리 |
그래 조금만. |
| |
아니면 카메라를 약간 낮추십시오. |
| |
좋아요. |
| |
네, 우리는 당신의 어깨와 물건을 더 많이 볼 수 있습니다. |
| |
그래서 저는 음소거를 하고 몇 초만 시간을 주시면 됩니다. |
| |
준비가 되면 시작하세요. |
| |
엄청난. |
| 조슈아 W 램버트 |
여러분, 안녕하세요. 제 이름은 조쉬 램버트입니다. 저는 신시내티 대학교의 조교수이며 약 10년 동안 JMP를 사용해 왔습니다. |
| |
그리고 저는 실현 가능한 솔루션 알고리즘이라고 하는 제가 개발한 알고리즘을 사용하는 추가 기능을 사용하여 회귀 모델에서 상호 작용을 탐색하는 것과 관련하여 제가 수행한 몇 가지 작업을 여러분과 공유하게 되어 기쁩니다. |
| |
그래서 |
| |
오늘 이야기할 내용입니다. 그래서 나는 우리의 토론에 동기를 부여할 작은 예부터 시작할 것입니다. 그리고 내가 작업한 것, 문제에 대한 개요입니다. |
| |
잠재적인 솔루션입니다. |
| |
그런 다음 솔루션을 R 패키지로 구현한 다음 JMP 추가 기능으로 이동한 방법과 이를 수행하는 과정에 대해 논의합니다. 그런 다음 앞으로의 노력과 그 과정에서 배운 몇 가지에 대해 이야기하겠습니다. |
| |
그래서 오늘은 약간의 예를 들어 토론에 동기를 부여해 보겠습니다. 저는 이것을 Tom 데이터 과학자라고 부를 것입니다. 그러니 톰을 만나십시오. 그는 데이터 과학자이고 Tom은 일반적인 데이터 과학 활동을 많이 합니다. 특히 Tom은 JMP에서 다변수 회귀 모델을 구축합니다. |
| |
그는 주로 많은 변수가 있는 표 형식의 데이터를 다루며 Tom은 이러한 다변수 회귀 모델에 복잡성이 부족하고 특히 상호 작용 항과 2차 항이 없다는 것을 알고 있습니다. |
| |
그리고 Tom은... Tom을 좌절시키고 Tom은 머신 러닝으로 바로 가고 싶어하지 않습니다. |
| |
그래서 그는 회귀 모델에서 상호 작용 효과를 탐색할 수 있는 방법을 원했습니다. |
| |
그는 테스트하고 싶은 상호 작용이 있지만 JMP의 적합 모델 플랫폼으로 손수 제작해야 합니다. |
| |
그리고 이 모든 것을 실행하려면 많은 시간이 걸립니다. 예를 들어 Tom의 데이터 세트에 200개의 변수가 있고 모든 양방향 상호 작용을 찾아야 하는 경우 확인해야 할 양방향 상호 작용은 19,900개입니다. 그건 너무 많은 몇 가지입니다. |
| |
그래서 Tom은 회귀 모델에서 상호 작용 효과를 일일이 손으로 만들 필요 없이 가능한 모든 조합을 확인할 필요 없이 탐색할 수 있는 알고리즘 및 데이터 기반 방법이 있는지 궁금합니다. |
| |
따라서 이 문제를 수학적으로나 통계적으로 좀 더 엄격한 방식으로 살펴보겠습니다. 그래서 우리가 문제에서 가지고 있는 것은 볼륨과 복잡성의 문제가 있다는 것입니다. |
| |
따라서 볼륨과 복잡성 |
| |
정말 빠른 속도로 계속 성장할 것입니다. 우리는 항상 더 많은 데이터를 사용할 수 있으며 이러한 데이터의 복잡성도 증가하고 있습니다. |
| |
상호 작용의 문제는 확인하기에 너무 많다는 것입니다. |
| |
일반적으로 데이터 과학자, 통계학자, 과학자는 확인하기 위해 알려진 일련의 상호 작용을 사용하여 분석에 들어가야 합니다. |
| |
그런 다음 계속 확인하십시오. 이것은 여러 가지 면에서 문제입니다...여러 가지 이유로, |
| |
즉, 어떤 상호 작용이 존재하거나 존재하지 않을 수 있는지에 대한 좋은 아이디어가 없을 수 있으며 데이터에서 탐색할 수 있기를 원합니다. |
| |
임의의 포리스트 또는 일종의 데이터 축소를 수행하기 위한 주성분 분석과 같은 모델로 이동하지 않고도 더 복잡한 작업을 수행할 수 있습니다. 회귀 모델을 구축하는 과정에서 작업을 수행할 수 있기를 정말 원합니다. |
| |
따라서 랜덤 포레스트와 주요 구성요소, 그리고 다른 기계 학습 유형의 작업에 대한 또 다른 문제는 이러한 것들이 종종 해석하기 어렵고 추가하고 싶습니다... 회귀 모델의 해석 가능성을 유지하는 동안 상호 작용을 탐색합니다. |
| |
따라서 일반적으로 회귀의 워크플로 |
| |
그래서 통계학자는 필요한 변수가 있고 상호 작용 효과가 추가되지 않은 간결한 기본 모델을 구축하는 데 많은 시간을 할애합니다. |
| |
이 기본 모델, 통계학자는 이 기본 모델, 많은 리소스, 관심, 해석 가능한지 여부 및 문맥상 좋은 의미를 가질지 여부에 대해 생각하는 데 많은...많은 시간을 할애합니다. |
| |
복잡성을 포함하지 않는 이러한 기본 모델의 문제는 그들이 추정하는 효과가 성별, 인종, 연령과 같은 가능한 모든 하위 그룹에 걸쳐 일관되고 일반적으로 그렇지 않다고 가정한다는 것입니다. 진실. |
| |
이러한 복잡성의 부족 |
| |
이 복잡성을 모델링하는 데 정말 좋은 기계 학습 모델과 비교하여 사람들이 그것을 사용할 수 없도록 합니다. 따라서 문제는 실제로 다음과 같이 요약될 수 있습니다. |
| |
기존의 다변수 회귀 모델에서 모든 방법을 사용할 수 없고 머신 러닝 모델까지 사용할 수 없는 방법이 있습니까? |
| |
그러나 중간에서 좋은 스위트 스팟을 찾으십시오. 여기서 상호 작용 또는 두 가지를 추가하는 회귀 모델의 멋진 해석 가능성을 취할 수 있습니다. |
| |
모델과 복잡성에 흥미로운 뉘앙스를 추가하고, 예측 성능과 좋은 맥락적 의미를 추가할 수 있습니다. |
| |
따라서 그렇게 할 수 있는 방법이 있다면 통계학자, 데이터 과학자 및 조사자가 기본 모델을 구축한 후 상호 작용을 탐색할 수 있는 도구를 개발하고 싶습니다. |
| |
기본 모델이 먼저 발생하고 복잡성 탐색이 일반적으로 두 번째로 발생합니다. |
| |
따라서 이와 같은 도구를 개발하려면 몇 가지 제약 조건과 선호 사항이 있습니다. 우리는 전통적인 통계 모델 선형 로지스틱 회귀에 기반하여, |
| |
우리는 그것들이 해석 가능한 상태로 남아 있기를 바랍니다. 가능하면 더 적은 수의 모델을 확인하고 최적보다 실현 가능한 것을 선호합니다. 나중에 그것이 의미하는 바에 대해 조금 더 알게 될 것이지만 본질적으로 그것이 의미하는 바는 |
| |
우리는 훌륭하고 실현 가능하다고 부를 단 하나의 솔루션보다는 많은 솔루션이 있기를 바랍니다. |
| |
또한 유연하기를 바랍니다. 선형 회귀, 로지스틱 회귀, Cox 비례 회귀를 사용할 수 있도록 조정할 수 있습니다. 푸아송 회귀, 모든 유형의 회귀에 사용할 수 있으며 이 프레임워크 또는 도구를 사용할 수 있습니다. |
| |
그리고 다시 전통적인 통계 방법과 기계 학습 사이의 하이브리드가 될 것입니다. 나올 결과가 반드시 추론적일 필요는 없지만 탐색적일 것이며 우리가 미래에 시간을 할애하는 데 동기를 부여하고 영향을 미칠 것입니다. |
| |
이제 이 잠재적인 솔루션인 실현 가능한 솔루션 알고리즘에 대해 이야기해 보겠습니다. |
| |
알고리즘... 실행 가능한 솔루션 알고리즘은 때때로 FSA라고 하며, 저는 그렇게 부르고 싶습니다. |
| |
2018년에 쓴 이 백서에서 처음으로 자세히 논의되었습니다. |
| |
그리고 |
| |
여기서 알고리즘이 하는 일을 요약하겠습니다. |
| |
따라서 알고리즘의 목표는 차수 m의 상호작용을 식별하는 것입니다(m이 2이면 양방향 상호작용이 되고 m이 3이면 3방향 상호작용이 됨). |
| |
실행 가능한 기준이 있으므로 이것이 반드시 최상의 기준은 아니지만 |
| |
라는 기준 |
| |
어떤 면에서는 준최적이라고 생각할 수도 있습니다. |
| |
이를 위해 다음 단계를 따릅니다. 그래서 우리가 할 첫 번째 일은 m 차수의 무작위 상호작용으로 시작하는 것입니다. 따라서 우리의 경우 양방향 상호작용이라고 가정하고 m은 2입니다. |
| |
우리는 변수 중 하나의 모든 교환과 다른 모든 변수에 대한 상호 작용을 고려할 것입니다. 예를 들어 무작위로 시작한다고 가정해 보겠습니다. |
| |
5개의 변수가 있으므로 이것은 단계에 동기를 부여하기 위한 작은 예일 뿐입니다. 하지만 5개의 변수가 있고 X3, X5 및 기준에서 무작위로 시작한다고 가정해 보겠습니다. 이 임의의 시작 위치에 대한 R 제곱입니다. 는 .5입니다. |
| |
알고리즘이 작동하는 방식은 변수 X3 또는 X5 중 하나를 다른 변수와 교환하는 것을 고려한다는 것입니다. 그렇다면 우리의 선택은 |
| |
X3 X1, X3 X2, X3 X4, X5 X1, X5 X2 및 X5 X4. 그래서 제가 부를 수 있는 모든 가능성 중 스왑에는 시작 위치 변수 중 적어도 하나가 있다는 점에 유의하세요. 알겠습니다. |
| |
그리고 나서, 우리가 할 일은 이 모든 것에 대해, 우리는 그 모델을 맞출 것이고 그 모델에 대한 기준이 무엇인지 알아낼 것입니다. 여기서 우리가 볼 수 있는 것은 |
| |
X3 X5 모델의 경우 .5가 있습니다. X3 X1, 기준은 .4입니다. |
| |
그리고 R 제곱으로 우리는 분명히 더 나쁜 곳으로 가고 싶지 않고 더 나은 곳으로 가고 싶습니다. 더 높은 R 제곱으로 모든 가능한 선택 중에서 가장 좋은 곳이 어디인지 알아낼 것입니다. . |
| |
이 예에서 가장 좋은 위치는 X3 X4인 3번 스왑입니다. 그래서 우리가 할 일은 3단계로 넘어가서 2단계에서 최선의 교환을 하는 것입니다. |
| |
이 경우 X3, X4 위치로 이동한 다음 2번으로 돌아가 개선 사항이 없을 때까지 반복합니다. |
| |
그래서 우리는 결국 개선을 할 수 없을 때까지 모든 스왑을 고려하여 장소로 이동하고 거기에서 시작하여 이 과정을 반복합니다. |
| |
그리고 우리는 그것을...우리가 실현 가능한 솔루션으로 끝내는 곳에서 부를 것입니다. |
| |
그리고 다른 실행 가능한 솔루션을 찾기 위해 1~4단계를 반복할 것입니다. 우리는 이것을 반복해서 할 수 있습니다. 이 프로세스, 이 실현 가능한 솔루션 알고리즘은 최적의 솔루션을 제공할 수는 있지만 최적의 솔루션을 제공한다고 보장할 수는 없습니다. |
| |
이제 이 알고리즘을 사용할 때 발생하는 몇 가지 부산물인 실현 가능한 솔루션 알고리즘에 대해 이야기해 보겠습니다. 그리고 이것들은 논문에 요약되어 있습니다. |
| |
내 동료인 Elliott는 2021년에 글을 썼습니다. 그녀는 앞서 말한 것처럼 실행 가능한 솔루션이 선택한 기준에 대해 최적이라는 보장이 없다고 설명했습니다. |
| |
즉, 모든 최적의 솔루션이 실행 가능하지만 모든 실행 가능한 솔루션이 최적은 아닙니다. 따라서 실현 가능한 솔루션은 일종의 준최적 솔루션이며, 좋은 기준, 실현 가능한 기준을 제공하지만 반드시 최적인 것은 아닙니다. |
| |
이러한 실현 가능한 솔루션 기준은 일반적으로 최적의 솔루션에 매우 가깝기 때문에 꽤 좋은 경향이 있습니다. 그들은 최고의 것만큼 좋지 않을 수도 있습니다. |
| |
많이... 이 4단계를 반복하면 잠재적으로 많은 실현 가능한 솔루션을 얻을 수 있으므로 이 알고리즘을 10번 수행하면 4개의 실현 가능한 솔루션을 얻을 수 있습니다. |
| |
10가지 실행 가능한 솔루션을 얻을 수 있습니다. 사용 중인 데이터와 해당 데이터 세트의 공분산 분산에 따라 달라집니다. |
| |
얼마나 많은 솔루션을 얻을 것인지 결정되지 않았습니다. |
| |
이것이 바로 우리가 일반적으로 사용자에게 실현 가능한 솔루션 알고리즘을 여러 번 반복하도록 권장하는 이유입니다. 그렇게 하면 최적의 솔루션과 실현 가능한 솔루션을 모두 얻을 수 있는 기회가 증가하기 때문입니다. |
| |
공간을 충분히 찾았습니다. 그리고 우리는 (관심이 있는 사람이 있다면 저에게 연락해 주시기 바랍니다) 최적의 것을 얻을 수 있는 합리적인 확률을 확보하기 위해 얼마나 많은 무작위 정렬을 수행해야 하는지에 대해 설명하는 또 다른 문서가 있습니다. 우리는 |
| |
그것에 대한 이론 논문도 있습니다. |
| |
그러나 본질적으로 이것이 작동하는 방식은 이러한 상호 작용 중 일부가 더 매력적이라는 것입니다. 그들은...베타 공간이 다른 사람들보다 더 끌리므로 결국 몇 번을 얻게 되는 것은 |
| |
상호 작용은 최적의 것이 아니며 때로는 이어질 수도 있습니다...데이터가 종종 이를 이끌 수도 있습니다 |
| |
실현 가능한... 가능한 솔루션 알고리즘을 통해 최적의 것보다 더 자주 해당 위치로 안내할 수 있으며 이는 데이터의 상관 관계 및 기타와 관련이 있습니다. |
| |
이제 R 패키지에 대해 이야기한 다음 이를 JMP 추가 기능으로 이동한 방법에 대해 알아보겠습니다. |
| |
그래서 |
| |
R 패키지는 rFSA라고 하며 R을 상당히 광범위하게 사용하는 사람과 사용하지 않은 사람이 있을 수 있다는 것을 알고 있습니다. 그리고 |
| |
그래서 R은 정말 좋은 프로그래밍 언어이고 통계 프로그램에서 자주 가르치기 때문에 논문을 작성할 때 가장 먼저 갔던 곳입니다. |
| |
이 알고리즘을 작성하고 커뮤니티에 자체 데이터 세트에서 상호 작용을 식별하고 탐색할 수 있는 도구를 실제로 제공하는 것입니다. |
| |
그래서 rFSA 패키지는 제가 방금 말한 실현 가능한 솔루션 알고리즘을 구현합니다. |
| |
대규모 데이터 세트의 상호 작용을 위해 이 패키지는 R 제곱, 조정된 R 제곱, AIC와 같은 다양한 기준의 최적화를 지원합니다. |
| |
상호 작용, P 값 등. 또한 선형 모델 및 일반화 선형 모델과 같은 다양한 모델링 전략을 지원하며 Cox 비례 위험 모델과 같은 다른 유형의 모델링 작업에 쉽게 적용할 수 있습니다. |
| |
또한 지정한 만큼 알고리즘을 반복하므로 여러 솔루션을 제공합니다. |
| |
그래서 왜...이 패키지를 JMP로 옮기려는 동기에 대해 조금 이야기하고 싶습니다. 그리고 왜, 언제, 어떻게 하려고 하는지에 대해 이야기하겠습니다. |
| |
그래서 첫 번째 질문은 왜 이것을 하느냐는 것입니다. 첫 번째는 하는 것이 재미있다는 것입니다. 저는 다양한 프로그래밍 언어로 글을 쓰는 것을 좋아합니다. 나는 JMP의 버전인 JMP 스크립팅 언어로 작성한 경험이 많지 않았습니다. |
| |
통계 프로그래밍 언어를 배우고 싶었고 4년의 대부분을 보낸 이 R 패키지를 JMP로 옮기는 것이 재미있을 것이라고 생각했습니다. |
| |
저는 JMP를 정말 좋아합니다. 저는 JMP가 훌륭하다고 생각합니다. 나와 내 데이터를 위한 정말 훌륭한 도구입니다. |
| |
분석 파이프라인. 저는 일반적으로 JMP에서 모든 프로젝트를 시작하고 데이터를 탐색하고, 데이터를 구성하고, 사물을 살펴본 다음 해당 데이터에 대한 많은 좋은 직관을 제공합니다. 그리고 나는 내 많은 |
| |
동료, 특히 제 고문 중 한 명인 그는 주로 JMP에서 일하며 항상 JMP의 FSA 패키지를 요청했습니다. |
| |
그래서 그에게 그것을 주지 않는 이유가 무엇인지 생각했습니다. 그는 확실히 그럴 자격이 있습니다. 그래서 나는 그것이 좋은 도구가 될 것이라고 결정했고 바라건대 다른 사람들은 |
| |
그것에서 약간의 사용을 얻으십시오. 그리고 그것은 저를 왜 이것을 해야 하는지에 대한 다른 요점으로 인도합니다. 그리고 저는 rFSA에 대해 많은 훌륭한 피드백을 받았습니다. |
| |
구체적으로 말하면, 얼마나 많은 사람들이 내 R 패키지를 다운로드했는지 추적하고 있으며 2019년에 출시된 이후로 16,000명이 넘는 사람들이 다운로드했습니다. |
| |
저는 전 세계 사람들로부터 수많은 이메일을 받았고 JMP의 사람들도 같은 내용에 액세스할 수 있기를 바랍니다. 이 추가 기능을 통해 사람들이 해석 방식을 바꾸는 정말 멋진 상호 작용을 찾을 수 있기를 바랍니다. 데이터와 데이터를 이해하는 방법. |
| |
그러면 내가 언제 이 일을 하려고 했는지 물을 수 있습니다. 이것은 누군가가 나에게 돈을 지불하는 것이 아닙니다. JMP는 돈을 지불하지 않습니다. |
| |
내 현재 위치는 그들이 흥미롭게 생각할 것이라고 생각하지만, 그들이 이 일을 하는 데 많은 추가 시간을 보내는 것에 대해 정확히 화를 내는 것은 아닙니다. |
| |
하지만 운 좋게도 내가 내 위치에 구축한 한 가지는 금요일에 약간의 자유 시간입니다. 나는 금요일 오후나 금요일 아침을 그냥 재미삼아 열어두려고 노력합니다. |
| |
내 일과 관련된 재미있는 일. 그리고 저는 이것을 Fun Friday Free Time이라고 부르며, 이것이 지난 몇 달 동안 Fun Friday Free Time을 사용하여 JMP 추가 기능을 구축하는 데 사용하기로 결정한 것입니다. |
| |
내가 어떻게 하려고 했는지 물을 수도 있습니다. JMP 스크립팅 언어를 몰랐습니다. 내가 이 일을 어떻게 하려고 했지? 그래서 |
| |
첫 번째는 제가 배우려고 했다는 것입니다. 따라서 JSL을 배우는 방법에 대한 정말 훌륭한 리소스가 많이 있습니다. |
| |
따라서 실제 JMP 소프트웨어 자체 내에 JMP JSL 코드 지원이 있습니다. 도움을 받으러 가세요. 바로 할 수 있습니다... 바로 들어가세요 |
| |
거기에 있는 스크립팅 인덱스. 온라인에는 셀 수 없이 많은 것들이 있습니다. |
| |
JMP 스크립팅 언어를 이해하는 방법과 시작 위치에 대해 설명합니다. 그리고 Community.jmp.com이 있습니다. |
| |
사람들이 질문을 하거나 다른 질문을 볼 수 있고 사람들이 즐길 수 있도록 공개적으로 게시한 코드를 빌릴 수 있는 시작하기에 정말 좋습니다. 그리고 여기에서 여러 번 했는데 정말 좋았습니다. |
| |
따라서 R 패키지를 이동하거나 고유한 알고리즘을 작성하거나 고유한 JSL 코드를 작성하는 데 관심이 있는 경우 이러한 각 항목을 조금 더 자세히 살펴보겠습니다. |
| |
어디서부터 시작해야 하는지에 대한 아이디어가 있을 것입니다. 그리고 이 작업을 마치면 추가 기능으로 이동하여 구체적으로 무엇을 하고 어떻게 사용하는지 설명하겠습니다. |
| |
그렇다면 JSL은 어떻게 배우나요? 글쎄, 당신은 다시 할 수 있습니다 ... |
| |
보유하고 있는 JMP의 JSL 리소스를 통해 배울 수 있습니다. 그래서 그들은 여기에 링크된 864페이지의 스크립팅 가이드를 가지고 있습니다. |
| |
Google을 사용하거나 이 슬라이드가 끝난 후에 이 슬라이드를 얻을 수 있고 이 링크를 얻을 수 있습니다. JMP에는 스크립팅 인덱스가 있으며, 도움말로 이동한 다음 스크립팅 인덱스를 사용할 수 있습니다. 사용하기 쉽고 시작하기 쉬운 여러분을 위해 여기에 두었습니다. |
| |
JMP에 문의할 수 있습니다. 그래서 가장 먼저 한 일은 JMP에 연락을 취한 것입니다. 그녀의 이름은 Ruth Hummel이고 저는 말했습니다. 이 작업을 하고 싶습니다. 어디서부터 시작해야 하나요? |
| |
그녀는 그 아이디어에 대해 저에게 지지와 격려를 주었습니다. 그녀는 그것이 훌륭하다고 생각한 다음 저를 JSL 코드 전문가와 연결해 주었습니다. |
| |
그의 이름은 마크 베일리입니다. 그리고 이 모든 과정에서 마크는 대단했다. Mark는 스크립팅 언어에 대한 일반적인 지원, 내 코드 검토, 일부 작성을 도왔습니다. |
| |
그 부분에서 시작하십시오. 그리고 우리는 지난 몇 개월 동안 이메일을 통해 22번 정도 왔다 갔다 했습니다. 그리고 |
| |
JMP가 제공한 리소스, 내 프로젝트에 기꺼이 도움을 준 직접 직원까지 |
| |
대단했다. 내 말은, 나는 더 나은 것을 요구할 수 없었습니다. 내 말은, 이전에 다른 플랫폼용으로 무언가를 만들려고 할 때 이러한 유형의 지원을 받은 적이 없습니다. JMP에 감사드립니다. |
| |
이것이 존재하는 주된 이유입니다. 환상적인 자원을 제공했기 때문입니다. |
| |
그래서 Community.jmp.com에서 질문을 할 수 있고, 답변을 얻을 수 있고, 코드를 빌릴 수 있고, 인증을 받을 수 있습니다. |
| |
JMP 스크립팅 언어. 커뮤니티에서 원하는 모든 것을 검색할 수 있습니다. Google과 비슷하지만 JMP에만 해당됩니다. |
| |
그리고 원하는 것은 무엇이든 검색할 수 있으므로 JSL과 JSL을 입력하면 원하는 대로 입력할 수 있습니다. 아마도 이미 게시된 사람일 것입니다. 없는 경우 토론 게시판에 추가할 수 있습니다. |
| |
그리고 차용 코드가 있습니다. 이것은 Mark가 저에게 넘겨준 것 중 하나입니다. 이봐, 차용 코드입니다. 커뮤니티 웹사이트에는 많은 코드가 있습니다. |
| |
사람들이 공유한 이유가 있습니다. 그래서 여기 오른쪽에 있는 것은 사실 제가 개발한 추가 기능을 위해 빌린 것입니다. 사용자가 어디에 있는지 알고 싶었습니다. |
| |
알고리즘 실행과 얼마나 더 오래 걸릴지 또는 이미 얼마나 많은 진전이 있었는지와 관련하여. |
| |
그래서 JMP로 진행률 표시줄을 작성하고 싶지 않았기 때문에 커뮤니티 게시판에 있는 것을 차용하여 추가 기능에 바로 추가했습니다. |
| |
JMP의 은퇴한 스태프인 Craige Hales가 이 코드를 작성했고 제가 빌렸습니다. 고마워, Craige; 코드 빌리기를 추천해 주셔서 감사합니다. 시간을 많이 절약해줘서 정말 고맙고 추가 기능을 훨씬 더 좋게 만들었습니다. |
| |
이제 마지막으로 추가 기능에 대해 이야기해 보겠습니다. 그래서 이 추가 기능이 필요한 이유에 대해 이야기했습니다. 다른 사람들은 R 패키지를 사용하여 JMP 사용자가 이점을 얻을 것이라고 생각하는 이유와 내가 어떻게 사용했는지에 대해 이야기했습니다. |
| |
이제 실제로 어떻게 작동하는지 보여드리고자 합니다. 이것이 이 전체에서 가장 재미있는 부분이 되었으면 합니다. 그래서 저는 이 전체 패키지인 R 패키지를 제가 가지고 있는 Fun Friday Free Time에 몇 달 만에 JMP로 옮겼습니다. 그래서 금요일 몇 시간이면 충분합니다. JMP 추가 기능 |
| |
현재 선형 및 로지스틱 회귀 모델에서만 작동합니다. 나중에 다른 모델로 확장할 수 있기를 희망하지만 지금은 선형 및 로지스틱 회귀 모델에서 작동합니다. 다른 점은 추가 기능, |
| |
다른 모든 내장 JMP 모듈에 있는 멋진 종소리와 휘파람이 많지 않습니다. 예를 들어 범주형 변수를 응답 변수에 넣으면 성격 유형이 자동으로 로지스틱 회귀로 전환되지 않습니다. |
| |
나는 그것에 대해 얘기하지 않았다. 사람들이 이 패키지를 사용하고 좋아하고 이에 대한 피드백을 제공함에 따라 이 패키지를 통해 개선되기를 희망하지만 아직 다루지 못한 다른 많은 것들이 있습니다. |
| |
따라서 일부 기능이 부족합니다. 추가 기능 관리자의 멋진 점은 JSL 코드를 가져오면 추가 기능이 있다는 것입니다. 추가 기능 관리자, JMP 추가 기능, |
| |
JSL 코드에서 고유한 추가 기능을 생성할 수 있으므로 실제로 몇 번의 버튼 클릭만으로 JSL 코드를 추가 기능으로 변환하여 전체 JMP 커뮤니티와 공유할 수 있습니다. |
| |
그리고 모든 사람들이 거기에 나가서 제가 보여드릴 준비가 된 추가 기능에 액세스할 수 있도록 이것을 community.jmp.com 웹사이트에 게시했습니다. |
| |
내가 사용할 데이터 세트에도 액세스할 수 있습니다. 그러나 이것은 내 예뿐만 아니라 가지고 있는 모든 데이터 세트에서 작동합니다. |
| |
그래서 저는 이 추가 기능에 대해 아주 빠르게 라이브 자습서를 제공할 것입니다. 이 추가 기능은... 추가 기능입니다. 저는 그냥 상호 작용 탐색이라고 불렀습니다. |
| |
이 모든 것은 내가 앞에서 이야기한 실현 가능한 솔루션 알고리즘을 통해 수행될 것입니다. 예는 선형 모델입니다. |
| |
여기에서 두 개의 변수를 수정할 것이므로 이것이 기본 모델이 됩니다. 내 기본 모델에는 조정할 수 있는 연속 응답 변수와 두 개의 공변량이 있습니다. |
| |
그런 다음, 제가 하고 싶은 것은 제 데이터 세트에 있는 10개의 변수 중 어느 것이든 해당 모델에 추가할 2차 상호 작용을 고려하는 것입니다. |
| |
무작위 시작을 다섯 번 하고 싶습니다. 제 기준을 확인하고 싶습니다. 이 기준이 현재로서는 |
| |
JMP 추가 기능은 상호 작용의 P 값을 최소화하려는 것입니다. 따라서 우리가 확인하는 이러한 각 상호작용은 |
| |
P 값을 생성하고 내가 하고 싶은 것은 내 솔루션이 |
| |
매우 작은 P 값. 따라서 상호 작용의 P 값이 무엇인지 기반으로 공간을 검색하고 가장 좋은 값을 갖는 것으로 이동합니다. 따라서 우리의 결과는 작은 P 값을 갖는 많은 상호작용을 가질 것입니다. 그리고 |
| |
일반적으로 이러한 유형의 절차를 수행한 후 권장하는 방법, 실현 가능한 솔루션 알고리즘, |
| |
데이터를 플로팅하고, 모델에서 이러한 상호 작용을 살펴보고, 맥락적 의미에서 이에 대해 비판적으로 생각하는 것입니다. 하루가 끝나면 여기에서 데이터를 탐색하기 때문입니다. |
| |
이것은 어떤 식으로든 추론이 아닙니다. 우리는 데이터의 신호를 사용하여 이 데이터에 어떤 상호 작용이 있을 수 있는지 지시합니다. |
| |
그리고 다시 데이터와 추가 기능이 커뮤니티 웹사이트에 게시됩니다. |
| |
알겠습니다. 그만하겠습니다. 이 상황에서 빨리 벗어나고, 차를 세우겠습니다. |
| |
내가 가지고 있는 JMP 데이터 세트. 여러분이 이것을 볼 수 있기를 바랍니다. |
| |
그리고 보시다시피, 아주 간단한 개요입니다. 이것은 실제로 제가 생성한 모든 무작위 데이터입니다. 여기에는 실제 구조가 전혀 없습니다. JMP에서 무작위로 생성된 데이터는 실제 데이터가 아닙니다. |
| |
여기에는 20개의 관찰이 있습니다. 10개의 연속 변수, 설명 변수가 있습니다. |
| |
나는 연속 응답 변수가 있고 응답 변수를 0보다 크거나 0보다 작은 것으로 분류했습니다. |
| |
따라서 로지스틱 회귀 분석 결과를 보고 싶다면 데이터로 로지스틱 회귀 예제를 수행할 수도 있습니다. |
| |
따라서 일단 추가 기능을 받으면 웹 사이트로 이동하여 추가 기능을 다운로드하고 두 번 클릭하기만 하면 JMP에 직접 설치됩니다. 정말 쉽습니다. |
| |
그런 다음 여기로 이동하면 추가 기능으로 이동합니다. 데이터 세트가 열리면 추가 기능으로 이동하여 상호 작용을 탐색합니다. |
| |
그리고 이것은 여기에 나타날 것입니다. 그래서 우리는 몇 가지를 가지고 있습니다. JMP의 다른 모듈과 마찬가지로 여기 왼쪽에 모든 변수가 표시됩니다. |
| |
그래서 저는 Y가 될 응답 변수를 선택하고 수정할 것입니다. 여기에서 기본 모델을 구성할 것입니다. 이것이 제가 제 모델에 추가하는 모든 선형 주 효과입니다. 그래서 이 변수에는 두 개의 변수가 있습니다. |
| |
여기에 추가할 X1 및 X2입니다. 이제 해야 할 일 중 하나는 모델링 유형을 지정하는 것이므로 내 파일에는 두 가지 유형이 있습니다. |
| |
선택할 수 있는 추가 기능입니다. 하나는 표준 최소제곱 모델링 유형이고 다른 하나는 로지스틱 회귀입니다. |
| |
그리고 이것은 앞서 말했듯이 여기에 입력한 내용을 기반으로 자동으로 선택되지 않습니다. 따라서 범주형 응답 변수를 완전히 입력할 수 있으며 전환되지 않습니다. 직접 전환해야 합니다. 그것은 그 멋진 종소리와 휘파람 중 하나입니다. 바라건대 나는 나중에 알게 될 것입니다. |
| |
그것을 제거하십시오. 이것을 여기에 다시 넣으십시오. |
| |
자, 이것이 우리의 설정입니다. 그래서 이것은 y가 베타 0 더하기 베타 1 X 1 더하기 베타 2 X 2와 같은 모델에 적합할 것입니다. 이제 여기에서 내가 원하는 변수를 입력할 것입니다. |
| |
...또는 상호 작용을 찾고 싶으므로 X1에서 X10까지 모두 선택하겠습니다. 나는 그것들을 더할 것이다. |
| |
그런 다음 알고리즘을 실행하고 싶다고 몇 번이나 말합니까? 그래서 저는 시간을 위해 5번을 하려고 합니다. |
| |
상호 작용을 고려할 순서가 있으므로 두 가지만 수행하겠습니다. |
| |
3자 이하로 머무를 것을 권장합니다. 일반적으로 4자 상호작용, 5자 상호작용을 해석하는 것이 훨씬 더 어려워지지만, |
| |
알고리즘...또는 내가 이것을 설정한 방법은 당신이 원한다면 당신이 그렇게 높게 갈 수 있다는 것입니다. 나는 실제로 제한을 두지 않았지만 여기로 올라갈수록 이것을 실행하는 데 더 많은 시간이 걸릴 것이라는 점을 알고 있습니다. |
| |
그래서 저는 좋아요를 누르겠습니다. 시간이 조금 걸립니다. |
| |
그래서 내가 빌린 코드를 볼 수 있습니다. |
| |
여기 올라온 것을 볼 수 있고 제가 20%, 40% 완료했다고 알려줍니다. |
| |
그래서 이것들은 해결책입니다. 따라서 검사가 진행될 때마다 실행 가능한 솔루션이 발견되고 마지막에 나타나는 것은 데이터 테이블입니다. |
| |
다시 말하지만, 이것은 그러한 기능 중 하나가 아닙니다...저는 선택 상자가 있었으면 합니다. 여기서 상호 작용을 선택한 다음 |
| |
모델을 생성하면 JMP가 이미 다양한 작업에 대해 수행하는 것처럼 모든 작업을 수행할 수 있지만 아직 거기에 도달하지 못했습니다. 이것은 단지 솔루션이 무엇인지 알려줍니다. |
| |
그래서 그것은 당신에게 그것이 한 일에 대한 요약을 제공합니다. 그래서 5번의 무작위 시작을 했습니다. 응답 변수, 고정 변수, |
| |
발견한 상호작용 변수, 알겠습니다. 그리고 R 제곱, 해당 모델에 대한 수정된 R 제곱, 제곱 평균 오차, 상호작용 P 값입니다. 자, 여기서 우리가 볼 수 있는 것은 |
| |
(내가 이것을 클릭하면 그것은 나에게 표시됩니다) 두 가지 솔루션이 있습니다. 그래서 ...X2 X3은 하나의 상호 작용이었고 X10 X7은 또 다른 상호 작용이었습니다. |
| |
그래서 이제 제가 할 수 있는 것은, 지금은 하지 않을 것입니다. 가서 이 모델을 만들고 이 결과를 재현하고 결과를 살펴보고 알겠습니다. 이것이 좋은 통계입니까? |
| |
알고리즘 ... 또는 여기서 찾은 좋은 통계적 상호 작용? 내 레버리지 플롯은 어떻게 생겼습니까? 내 기준이 다 뭐야 |
| |
플롯은 어떻게 생겼습니까? 그리고 내 진단 플롯은 어떻게 생겼습니까? 그런 종류의 것들. 그런 다음 이 상호 작용이 매개변수 추정치 및 기타 측면에서 의미가 있는지와 같은 질문을 시작할 수 있습니다. |
| |
탐색적이므로 잠재적인 솔루션을 제공할 수 있지만 실사를 통해 후속 조치를 취하고 실제로 얻은 결과에 대해 생각해야 합니다. |
| |
이 분야의 컨텍스트...맥락 전문가들에게 질문하십시오. 그것이 우리가 일반적으로 건강 과학에서 이것을 사용하는 방법입니다. 우리는 이것을 건강 데이터와 함께 사용하고 상호 작용을 생성한 다음 의사에게 가서 이것이 이 효과가 의미가 있다고 말하며, |
| |
알다시피, 나이, 성별 또는 무엇이든간에 일관성이 없을 것입니다. 그리고 그들은 보통 그것에 대해 우리에게 이야기할 것입니다. 알다시피, 그것에 대해 생각하십시오. 전체 아이디어는 이것이 미래의 연구에 희망적으로 영향을 미치고 더 많은 연구에서 이러한 상호 작용 효과를 찾도록 연구에 힘을 줄 수 있다는 것입니다. |
| |
좋은 방법. |
| |
자, 이제 PowerPoint로 돌아가겠습니다. 이것이 이 튜토리얼이었습니다. 꽤 사용하기 쉽다는 것을 알 수 있습니다. 그것은 정말 작은 예였습니다. 당신은 이것을 증가시킬 수 있습니다, |
| |
당신이 가지고 있는 데이터 세트가 클수록 내가 방금 수행한 전체 프로세스에 더 오래 걸릴 것입니다. 10초가 되지 않습니다. 그것은 ~ 할 것이다, |
| |
데이터 세트의 크기에 따라 5-10분 정도 소요될 수 있습니다. 알고리즘을 사용하고 추가 기능을 사용하여 100개의 변수가 있는 데이터 세트를 수행했습니다. |
| |
설명 변수가 있었고 약 5~10개의 임의 시작을 실행하는 데 약 7분 정도의 시간이 걸렸습니다. |
| |
R 패키지는 JMP 추가 기능보다 속도가 더 빠르지만, 다시 말하지만, 이것이 제가 처음으로 시도한 것이며, 반복을 통해 더 빠르고 더 좋아질 것이기 때문입니다. |
| |
따라서 향후 개선 사항에 대해 이야기해 보겠습니다. 따라서 사용자가 최적화하거나 |
| |
그들이 원하는 모든 기준에 따라 실현 가능한 솔루션을 찾으십시오. 따라서 R 제곱 최적화 또는 AIC 최적화 또는 오분류율 최적화를 기반으로 실행 가능한 솔루션을 찾으려면 |
| |
로지스틱 회귀 모델에서 저는 그들이 그렇게 할 수 있도록 하고 싶습니다. 그리고 정말 어려운 일이 아닙니다. 그냥 들어가서 하면 됩니다. |
| |
변수 선택에 따라 모델링 특성을 자동으로 저장하거나 선택합니다. 간단합니다. 당신은 |
| |
이진 로지스틱 변수는 자동으로 로지스틱 회귀를 선택합니다. 나는 그것이 아마도 매우 어렵다고 생각하지 않습니다. 아마 꽤 빨리 할 수 있을 것입니다. 나는 내 R 패키지를 옮기는 이 과정을 거쳤기 때문에 그렇게 할 자신이 있다고 생각합니다. |
| |
속도를 좀 높이고 싶습니다. 이 속도를 향상시키기 위해 내가 할 수 있는 일이 많이 있습니다. |
| |
그래서, 나는 그것을 할 수 있기를 원합니다. 리콜 버튼이 좋을 것입니다. 나는 지금 그것을 가지고 있지 않다. JMP에서 내가 가장 좋아하는 기능 중 하나는 해당 호출 버튼을 클릭할 수 있다는 것입니다. |
| |
그런 다음 FSA에서 얻은 결과에서 모델 구축까지 간소화할 수 있기를 바랍니다. 그래서 |
| |
JMP나 올가미 또는 그 중 어떤 것에서 정방향 선택을 할 때와 같이 이미 그렇게 할 수 있습니다. 모델 만들기를 클릭하면 모든 변수를 매우 쉽게 가져올 수 있습니다. |
| |
이 실현 가능한 솔루션 알고리즘을 사용하여 이러한 유형의 결과를 얻고 모델 만들기를 클릭하기만 하면 자동으로 모든 작업을 수행할 수 있기를 바랍니다. |
| |
여러분이 그것들을 탐색할 수 있도록, 그리고 다시, 바라건대, 여러분이 발견한 상호작용을 잘 이해할 수 있기를 바랍니다. |
| |
그래서 내가 통과하고 싶은 몇 가지 인정. 첫 번째는 마크 베일리입니다. 당신 없이는 할 수 없었습니다. JSL 코드에 대한 지원에 감사드립니다. Ruth에게 감사합니다. |
| |
마크와 연락을 주고받고 장군이 되어서 |
| |
이 프로젝트에 대한 지원 담당자이며 좋은 피드백을 제공합니다. Anne과 Larry, 그저 감사합니다. |
| |
JMP 및 과거 관계와 관련된 모든 일에 도움을 주시고 이 Discovery Summit을 하도록 격려해 주셔서 감사합니다. 정말 좋았습니다. JMP 커뮤니티에서 더 많은 사람들을 만나서 기쁩니다. |
| |
그것을 통해, 그래서 그것에 대해 감사합니다. 여러 가지 방법으로 저에게 연락할 수 있습니다. 제 대학 이메일로 제게 이메일을 보내실 수 있습니다. 트위터에서 저에게 연락하실 수 있습니다. |
| |
또한 이 JMP 추가 기능을 github 및 커뮤니티 웹 사이트에 게시할 계획이므로 추가 기능의 향후 업데이트를 위해 해당 위치 중 하나를 자유롭게 확인하십시오. |
| |
네, 저를 초대해 주셔서 감사합니다. 할당된 시간 동안 질문을 받을 수 있어 기쁩니다. 감사합니다. |