| 스피커 |
성적 증명서 |
| 제프 퍼킨슨 |
JMP 기능 개발과 관련하여 다음 발표자인 존 샐은 우선순위 설정 방식에 대해 흥미로운 관점을 제시합니다. 우리는 어떤 기능을 우선적으로 개발할지 결정해야 합니다... |
| |
우리가 투자하고 싶은 기능은 무엇일까요? 그렇다면 무엇이 가장 중요한지 어떻게 판단해야 할까요? 제품의 성능을 향상시키는 기능에 집중해야 할까요? |
| |
분석의 부담을 덜어주고 고통을 완화하는 데 초점을 맞춘 기능이나, 더 매력적이거나 섹시하게 만드는 기능은 어떨까요? |
| |
존은 통증 완화가 우리 연구 개발팀의 주요 동기가 되어야 한다고 생각합니다. 존은 SAS의 공동 창립자이며, 30여 년 전에 설립한 JMP의 수석 설계자입니다. |
| |
데이터를 보유하고 있으며 이를 탐색할 방법이 필요한 과학자와 엔지니어들을 위해, 데스크톱에서 시각적으로 쉽게 데이터를 탐색할 수 있는 방법이 필요합니다. |
| |
존 씨는 JMP 개발의 원동력과 우리가 개발하고 싶은 기능을 발견하는 과정에 대해 이야기해 주실 예정입니다. 그럼, 존 씨, 환영 인사를 드리겠습니다. 감사합니다. |
| 존 홀 |
제프, 감사합니다. 지금 우리는 훨씬 더 많은 사람들을 수용할 수 있는 노스캐롤라이나주 캐리의 새로운 디지털 컨퍼런스 센터에서 생중계하고 있습니다. |
| |
그럼 조명을 조금 어둡게 해볼까요? |
| |
음, 사실 저는 지금 디지털 컨퍼런스 센터에 있는 게 아니에요. 제 집이에요. 홈 오피스가 있거든요. 아, 맞다. 그 홈 오피스가 아니었네요. |
| |
우리 모두 마찬가지입니다. 저도 집에서 이 컨퍼런스를 진행하고 있습니다. 자, 이제 기업 배경으로 전환해서 시작해 보겠습니다. |
| |
그럼 무슨 이야기를 해야 할까요? |
| |
음, JMP 릴리스가 있는 해에는 컨퍼런스 연합에서 JMP 릴리스에 대해 이야기하지만, 그 외의 해에는 항상 제가 특정 주제를 정합니다. 예를 들어 어떤 해에는 대규모 통계를, 다음 해에는 고스트 데이터를, 또 다음 해에는 숨겨진 기능을 주제로 삼습니다. |
| |
2년 전 이야기입니다. 오늘 제가 이야기할 주제는 A로 시작하는 어려운 단어들입니다. |
| |
네, 이것들은 JMP 개발을 위한 주제들을 특징짓는 단어들입니다. 그럼 제 화면을 공유하겠습니다. |
| |
그리고 |
| |
최소화 |
| |
여기. 공유하세요. |
| |
그렇다면 어떤 주제가 가장 중요할까요? 그리고 여기 A로 시작하는 세 가지 중요한 단어가 있습니다. |
| |
제프가 방금 언급했듯이, 첫 번째는 단백동화입니다. 단백동화는 근육 성장을 촉진하여 JMP의 효능을 높이는 역할을 합니다. |
| |
동화 작용은 장기와 조직을 형성하고, 이러한 과정은 세포의 성장과 분화를 통해 신체 크기를 증가시킵니다. |
| |
따라서 JMP의 성능을 향상시키는 것이 기회가 될 것이고, 이는 물론 매우 중요하지만, 그다음은... |
| |
최음제처럼 작용해서 JMP를 더 섹시하고, 더 흥미롭고, 발견의 스릴을 느끼게 해줍니다. 그래서 그런 점도 하나의 특징으로 만들고 싶습니다. |
| |
하지만 저희는 작업 과정 중 여러분의 진전도 중요하게 생각하기 때문에 세 번째 단어는 '진통제'이며, 이는 통증 완화를 의미합니다. |
| |
통증 완화. |
| |
그래서 저는 사람들이 다음과 같은 가상의 인용구를 표현했으면 좋겠습니다. "버전 15 덕분에 정말 큰 도움이 됐어요... 예전에는 며칠씩 걸리던 작업을 몇 시간이나 절약할 수 있었거든요!" 정말 엄청난 도움이 될 거예요. |
| |
또는 "예전에는 하나하나 개별적으로 해야 했는데 이제는 한 번에 다 할 수 있어요!" 정말 편해졌죠. 아니면 "예전에는 모든 작업을 하려면 여러 다른 도구를 사용해야 했는데 이제는 JMP 하나로 다 할 수 있어요!" |
| |
또는 "동료들에게 내가 얼마나 쉽게 하는지 보여줬더니 모두 깜짝 놀랐어요!" 또는 "예전에는 이 모든 걸 수동으로 프로그래밍해야 했는데, 이제는 마우스 클릭 몇 번이면 끝이에요!" |
| |
또는 "JMP 덕분에 데이터 분석에 집중할 수 있고, 운영상의 세부 사항에 너무 신경 쓰지 않게 되었어요!" 이런 식의 안도감을 표현하는 말들이야말로 우리가 듣고 싶어 하는 말입니다. |
| |
고통과 좌절은 의욕을 저해하는 주요 요인입니다. 몰입은 매우 중요합니다. 몰입 상태에서는 방해받지 않고, 데이터에서 더 많은 것을 배우고 새로운 발견을 할 가능성이 높아집니다. |
| |
물론 권한 부여도 중요하지만, 새로운 기능은 소수의 사용자만 사용하는 경향이 있고 기존 기능은 다수의 사용자가 사용하는 경향이 있습니다. 따라서 기존 기능을 더 효율적으로 작동하도록 만들고 싶습니다. |
| |
도구를 사용하는 데 따르는 불편함을 줄이기 위해서입니다. 물론 생산성은 시간 활용 측면에서 도구가 얼마나 효과적인지에 크게 좌우됩니다. 따라서 결과를 더 쉽고 빠르게 얻을 수 있도록 만들 수 있다면 큰 성과입니다. 그럼 여러 가지 예를 살펴보겠습니다. |
| |
먼저 데이터 테이블과 함께 제공되는 스크립트입니다. 여기 이전 JMP 버전(아마 JMP 14 또는 13일 겁니다)의 예시를 나란히 보여드리겠습니다. |
| |
예전에는 마우스 버튼을 이 버튼 위에 누른 상태로 있어야 메뉴 항목이 나타나고, 거기서 실행 버튼을 찾아 스크립트를 실행할 수 있었습니다. |
| |
하지만 새로운 방식은 대본 바로 옆에 재생 버튼이 있습니다. 그 재생 버튼을 클릭하기만 하면 메뉴를 열 필요 없이 바로 재생할 수 있습니다. |
| |
음, 그렇게 큰 차이는 아니라고 생각할 수도 있겠죠. 버튼을 클릭하는 것과 메뉴를 불러오는 것의 차이가 그렇게 크지 않다고 생각할 수도 있으니까요. 하지만 새로운 사용자들에게는 큰 이점입니다. 왜냐하면 이제 새로운 사용자들은 복잡한 과정을 이해할 필요가 없기 때문입니다. |
| |
핫 버튼 아래에 실행 파일이 있다는 것을 알 수 있습니다. 하지만 스크립트와 함께 재생 버튼이 바로 거기에 있습니다. 따라서 이것들이 스크립트라는 것을 더 잘 이해할 수 있습니다. |
| |
스크립트를 데이터와 함께 저장할 수 있다는 점은 JMP의 중요한 기능이며, 저희는 사용자들이 이 기능을 즉시 익히기를 바랍니다. |
| |
두 가지 방법을 찾아보거나 팁을 참고하지 않고도 작동 방식을 알 수 있다는 점이 정말 편리합니다. 모든 스크립트를 저장할 수 있다는 것도 큰 장점입니다. |
| |
데이터 테이블 자체 내에 저장하고 다른 곳에 저장할 필요가 없도록 하는 것입니다. 따라서 신규 사용자에게는 재생 버튼이 바로 보이도록 하는 것이죠. 이처럼 간단한 변경만으로도 불편함이 크게 줄어듭니다. |
| |
그리고 이는 JMP에서 훨씬 더 일찍 적용하지 못한 것을 후회하는 부분입니다. |
| |
데이터 준비에 대해 이야기해 보겠습니다. 데이터를 준비할 때 가장 중요한 작업 중 하나는 여러 소스의 데이터를 결합하는 것입니다. |
| |
JMP는 첫 번째 버전부터 유틸리티를 결합해야 했습니다. 하지만 이 과정은 여전히 복잡한 대화 상자와 여러 데이터 테이블을 다루는 작업을 수반합니다. |
| |
영화를 대여하는 전형적인 예를 들어보겠습니다. 영화 대여 거래 테이블이 있습니다. |
| |
고객 정보, 품목 번호, 주문 날짜, 주문 연도가 있는 테이블과 대여 가능한 영화 목록, 각 영화에 대한 세부 정보가 있는 테이블이 있습니다. 그리고 고객 정보 등이 있는 테이블도 있습니다. 우리는 이 세 테이블을 모두 활용하여 질문을 하고 싶습니다. |
| |
어떤 성별의 배우들이 어떤 장르의 영화에 더 많이 출연하는가? 음, 그건 여러 가지 요소를 고려해야 합니다. |
| |
세 테이블 모두를 아우르는 작업을 하려면 당연히 조인 명령어를 사용해야 합니다. 거래 데이터를 가져와서 |
| |
고객 정보와 병합하세요. 물론 고객 ID가 일치하는 항목입니다. |
| |
열을 추가하고 거래 측면에서 일치하지 않는 항목도 포함하고 싶습니다. 즉, 고객 데이터가 없더라도 거래 데이터는 손실되지 않도록 하는 것입니다. 이를 왼쪽 외부 조인이라고 하며, 이렇게 하면 새로운 데이터 테이블이 생성됩니다. 이제 이 데이터 테이블을 다른 테이블과 조인하고 싶습니다. |
| |
재고 데이터로 이동합니다. 그래서 품목 번호를 기준으로 조인하고 일치하는 항목을 찾은 다음, 왼쪽 외부 조인도 원합니다. 이제 다음과 같습니다. |
| |
또 다른 테이블이 생겼습니다. 그래서 이제 테이블이 세 개가 아니라 다섯 개가 되었는데, 이는 조인 결과입니다. 이제 저는 장르별 성별이라는 질문에 대한 답을 찾을 수 있게 되었습니다. |
| |
성별에 따라 어떤 유형의 영화를 더 많이 대여하는 경향이 있습니까? |
| |
그리고 이러한 새로운 중간 데이터 테이블을 모두 만드는 작업도 포함되었습니다. |
| |
알고 보니 훨씬 쉬운 방법이 있고, 이러한 추가 단계와 추가 표를 사용하는 번거로움을 크게 줄일 수 있습니다. 자, 그럼 이 표 위의 표를 풀어보겠습니다. |
| |
그리고 테이블 명령 아래에 JMP 쿼리 빌더라는 명령이 있는데, 이 명령을 실행하면 Sequel 기능이 나타납니다. |
| |
테이블을 조인하는 데 있어서, 이 방법은 조인 대화 상자를 사용하는 것보다 훨씬 쉽지만, 여전히 새로운 데이터 테이블이 생성됩니다. |
| |
하지만 몇 차례 업데이트 전에 훨씬 더 나은 기능인 가상 조인을 출시하여 불편함을 더욱 줄였습니다. 자, 이 거래 테이블을 보면, |
| |
이미 가입되어 있는 것을 확인했습니다. |
| |
그래서 제가 영화 재고 목록을 만들 때, 각 항목은 고유 번호로 식별되도록 했습니다. 그래서 항목 번호를 부여했죠. |
| |
링크 ID는 해당 항목을 고유하게 식별하는 데 사용되며, 이를 통해 해당 테이블에 인덱싱할 수 있습니다. 마찬가지로, 항목 ID는 고객 데이터를 식별하는 데 사용됩니다. 거래 데이터를 준비할 때, 이 두 ID는 일종의 외래 키 역할을 합니다. |
| |
링크 참조가 있고, 그 링크는 식별 ID를 통해 서로 다른 데이터 테이블을 참조합니다. 그래서 자동으로 연결되고, 저는 이미 그 질문에 답하는 데 필요한 모든 것을 가지고 있습니다. 따라서 저는 할 수 있습니다. |
| |
각각에 대해 |
| |
성별, 저는 할 수 있습니다 |
| |
내가 하고 싶은 영화 장르를 찾아야겠어. 그래서 여기서는 액션 영화는 남성들이 더 좋아하고 가족 영화는 여성들이 더 좋아하는 걸 알 수 있지. |
| |
로맨틱 코미디는 여성이 더 많이 출연하는 장르 등등. 그래서 저는 모든 조인을 거치지 않고도 세 개의 테이블을 사용하는 질문에 대한 답을 찾았습니다. 테이블 간의 ID 열을 일치시키는 것만으로 사실상 조인이 이루어지기 때문입니다. |
| |
그래서 제가 만들었어요 |
| |
그것 덕분에 통증이 많이 완화됐어요. 그러니까 여기서 마무리하죠. |
| |
데이터 테이블 조인 작업은 여러 릴리스를 거치면서 많은 어려움을 해소하는 데 기여했다고 생각합니다. |
| |
재코딩, |
| |
그건 우리가 데이터 세트를 준비할 때 하는 주요 작업 중 하나입니다. |
| |
저희는 몇 차례 릴리스 전에 아주 간단한 리코딩으로 시작했습니다. 기존 값과 새 값을 저장하는 필드를 만들고, 새 값은 기존 값과 동일하게 초기화했습니다. 그런 다음 해당 값을 잘라내기, 붙여넣기 또는 편집하여 리코딩할 수 있었습니다. |
| |
새 열 또는 기존 열에 삽입합니다. |
| |
그리고 Recode는 매 릴리스마다 눈에 띄게 개선되었으며, 현재 상태에 매우 만족하고 있습니다. 자, 그럼 이 병원, 특히 지역 병원 데이터 세트를 살펴보겠습니다. Recode는 바로 이 데이터를 분석할 수 있습니다. |
| |
열 머리글에서 오른쪽 버튼이나 오른쪽 클릭 메뉴를 사용하면 됩니다. 그러면 제가 직접 들어가서 살펴볼 수 있습니다. |
| |
여러 항목을 선택하여 '진료소'와 같은 새로운 값으로 그룹화합니다. |
| |
하지만 지름길도 많다고 생각해요. 제가 가장 좋아하는 지름길 중 하나는... |
| |
비슷한 값을 그룹화하기 위해서입니다. 예를 들어 문자 차이의 개수와 같은 임계값을 지정하면 자동으로 모든 항목을 그룹화합니다. 따라서 철자가 약간씩 다른 지역 병원들을 하나로 묶을 수 있습니다. |
| |
그리고 저는 여전히... |
| |
하나를 놓친 것 같네요. 하지만 괜찮아요, 이제 그 하나를 다른 것들과 함께 묶을 수 있어요. |
| |
모든 시골 병원들이 자동으로 일치하는 기준으로 그룹화되었는데, 여기서 하나 더 일치시킬 수 있을 것 같습니다. |
| |
그런데 갑자기 뭔가 생겼어요. 다시 코딩하는 데 드는 노력을 엄청 절약했네요. |
| |
물론 JMP 15에서는 새로운 기능들을 추가했는데, 여기서는 보여드리지 않겠지만 한 가지 말씀드리고 싶습니다. 만약 모든 데이터가 포함된 다른 데이터 세트가 있다면, |
| |
...가장 적합한 카테고리 이름을 찾으면 매칭 과정을 거쳐 모든 항목과 일치하는 항목을 찾았을 때 가장 비슷한 항목을 선택하도록 할 수 있다는 것이 입증되었습니다. 그래서 |
| |
그래서 리코드는 여러 릴리스를 거치면서 이러한 작업의 어려움을 줄이기 위해 많은 발전을 거듭해 왔습니다. 그리고 물론, 생각해 보세요. 데이터를 준비하는 데 드는 시간과 분석하는 데 드는 시간은 얼마나 될까요? |
| |
흔히 우리는 시간의 70%에서 90%를 데이터 준비에 소비합니다. 따라서 그 과정에서 발생하는 어려움과 시간을 줄이는 것이 매우 중요합니다. 즉, 재코딩 작업의 어려움을 해소하는 것이죠. |
| |
값을 클릭하세요. 여기 있습니다. |
| |
도시 데이터 세트. |
| |
그리고 예를 들어, 어떤 항목에 대해 자세히 살펴보고 싶을 때, 특히 이상치가 있을 경우, 더 자세히 살펴보고 싶다고 가정해 보겠습니다. 그러면 해당 항목을 링크로 만들 수 있습니다. 자, 그럼 시작해 보겠습니다. |
| |
이걸 위키 페이지, 그러니까 위키미디어 페이지 같은 걸로 만들어 볼게요. 저 텍스트를 복사해서 열 정보로 이동한 다음, 그걸 링크로 만들겠습니다. 이게 바로 표현식 핸들러죠. |
| |
이제 저는 가져갈 수 있습니다 |
| |
이것 |
| |
표를 웹으로 변환합니다. |
| |
주소. 그래서 |
| |
저는 위키피디아 웹사이트에 가서 정보를 가져올 거예요. |
| |
해당 도시 이름을 대문자로 바꾸고 해당 행에서 테스트하면 Albany가 표시됩니다. |
| |
자, 그럼 이제 말씀드리겠습니다... |
| |
아, 알겠습니다. |
| |
이제 어떤 도시든 클릭하면 해당 도시에 대한 위키백과 문서를 볼 수 있습니다. 또는 지도 좌표로 바꿀 수도 있죠. 그러니까... 저 텍스트를 복사해서 열 정보로 가면 이제 저것 대신에 |
| |
그 사건에 대해 소유권 소송을 진행하세요. |
| |
제대로 구문 분석되는지 확인해 보겠습니다. 이제 덴버를 클릭하면 덴버와 구글 지도를 조회할 수 있습니다. |
| |
좋아요, 이제 여러 가지 작업을 링크로 연결했어요... 검색도 할 수 있고, 지도 요청도 할 수 있고, 심지어... |
| |
이 코드를 붙여넣고 클릭하면 도시 이름을 말해줍니다. 따라서 이 기능은 데이터 테이블에 링크를 저장할 수 있는 강력한 도구라고 생각합니다. |
| |
웹 페이지로 연결하거나 다른 작업을 수행하는 등 ACL로 표현할 수 있는 모든 것을 이벤트 핸들러를 사용하여 처리할 수 있습니다. 따라서 많은 어려움을 줄일 수 있습니다. |
| |
제가 가장 좋아하는 통증 완화 기법 중 하나는 브로드캐스팅입니다. 이는 명령 키나 제어 키를 누른 상태로 여러 개의 유사한 분석 결과를 연속해서 실행하는 기능입니다. |
| |
이 기능은 메뉴 명령뿐만 아니라 여러 버튼, 그래프 프레임 크기 조정, 그래프에 항목 붙여넣기 등 다양한 작업에도 적용됩니다. |
| |
그럼 예시를 하나 들어보겠습니다. 그리고 클릭해서... 또는 이 모든 열에 대해 분포를 만들어 보겠습니다. |
| |
그리고 제가 없애고 싶은 게 있다고 가정해 봅시다. |
| |
이 상자 그림. |
| |
그리고 내가 그냥 누르고만 있으면 |
| |
해당 메뉴 항목에 대한 상자 그림을 제거하려면 해당 항목에 대해서만 상자 그림을 제거하면 됩니다. 하지만 저는 모든 항목에 대해 상자 그림을 제거하고 싶습니다. 그래서 Command 키를 누른 상태에서 상자 그림의 체크를 해제하면 모든 항목에 대해 상자 그림이 해제됩니다. 이제 분위수 항목도 체크 해제할 수 있습니다. |
| |
그러면 모든 항목의 체크 표시가 해제됩니다. 왜냐하면 해당 명령을 받아 창에 있는 모든 활성 개체에 전달했기 때문입니다. 그리고 분위수 명령과 같이 해당 명령을 이해하는 활성 개체는 그 명령을 따르게 됩니다. |
| |
이 기능은 프롬프트 대화와 관련된 일부 기능에도 적용됩니다. 요약 통계를 살펴보겠습니다. Command 키를 누른 상태에서 요약 통계를 사용자 지정해 보겠습니다. |
| |
예를 들어 신뢰구간은 필요 없고 결측값 개수만 알고 싶다고 가정해 보겠습니다. 그러면 "알겠습니다"라고 말하고 모든 데이터에 그 내용을 적용하겠습니다. |
| |
모든 것들을 말입니다. 그러기 위해서는 다음과 같은 것들이 필요했습니다. |
| |
그 대화 결과를 바탕으로 스크립트를 만들고, 그 스크립트를 해당 창에 있는 다른 모든 곳으로 전송합니다. |
| |
하지만 항상 그런 것은 아닙니다. 때로는 모든 분석에 대해, 즉 모든 릴리스에 대해 프롬프트가 표시될 수 있습니다. |
| |
몇 가지 세부 사항을 더 구현하기 위해, 대화 내용이 방송 전에 완료되도록 하여 사용 가능한 모든 위치에 동일한 대화 내용이 방송되도록 했습니다. 물론, 다른 모든 것도 변경 사항을 방송하여 해당 항목들의 크기를 변경하거나, 아니면 다른 변경 사항을 방송할 수 있습니다. |
| |
배경색을 바꾸는 건데, 모든 그래프의 배경색을 전부 주황색으로 바꿀 수 있어요. |
| |
그것이 해당 프레임 박스에 관련 있어 보인다는 것입니다. 따라서 이러한 방송은 매우 강력한 도구가 됩니다. |
| |
그래서, |
| |
그 덕분에 대부분의 사람들이 겪는 고통을 크게 줄일 수 있었지만, 올해 초에 발생했던 것처럼 그룹별로 4만 개의 데이터가 있는 경우도 여전히 있습니다. 이 경우 모든 4만 개의 데이터에 대해 역 예측을 수행하려고 하면 4만 번이나 메시지가 표시됩니다. |
| |
해당 문제는 버전 16에서 해결될 예정입니다. 그 사용자에게는 큰 안도감이 될 것입니다. |
| |
수식 열을 저장합니다. |
| |
저는 수식 열을 정말 좋아합니다. 모델을 학습시키면 예측값을 열에 저장할 수 있는데, 그 예측값에는 실시간으로 작동하는 수식이 포함되어 있어서 수식을 살펴보고, 수정하고, 새로 들어오는 데이터에 적용할 수도 있습니다. 저장된 수식을 기반으로 프로파일링도 할 수 있고요. |
| |
만약 당신이 가지고 있다면 |
| |
JMP Pro에서는 수식 저장소에 가서 다양한 작업을 할 수 있습니다. 코드를 생성하는 등의 기능도 있죠. 따라서 수식을 저장하는 기능은 중요하지만, 때로는 그렇지 않을 수도 있습니다. |
| |
예를 들어 그룹별로 저장하는 경우, 수식을 저장하는 데에는 훨씬 더 미묘한 차이가 있습니다. |
| |
예를 들어, 이것은 당뇨병 데이터인데, 여기서 우리는 반응 변수를 맞춰봅니다. |
| |
우리는 이러한 모든 예측 변수에 대해 각각 별도로 수행하고자 합니다. |
| |
그럼 그렇게 해봅시다. |
| |
그래서 우리는 성별 1과 성별 2, 이렇게 두 그룹으로 나눌 수 있습니다. 이제 저장하고 싶다고 가정해 보겠습니다. |
| |
사실 이 두 가지 모두에 대한 예측값입니다. |
| |
옛날에는 우리가 이를 다양한 진통 방법으로 치료하기 전에는, |
| |
저장하면 로컬 데이터 테이블에 저장됩니다. 데이터 테이블 창에서 '다시 실행'을 보면 그룹별 테이블이 표시됩니다. |
| |
그러니까 실제로 gender=1인 경우, 이 가상 데이터 테이블에는 235개의 데이터가 있는데, gender=1에 대한 데이터를 보여줄 수 있습니다. 여기에는 그룹별 데이터를 보여주는 테이블 변수가 있습니다. |
| |
그러면 실제 저장된 테이블 대신 이 임시 테이블에 저장됩니다. |
| |
하지만 |
| |
얼마 전에 예측 공식을 저장했을 때, 우리는 그 공식을 실제 데이터 테이블에 저장했습니다. 그리고 제가 이걸 보면, 저는 성별이 1인 경우에만 저장한 겁니다. |
| |
그리고 그 공식을 살펴보면, gender=1일 경우, 즉 그룹별 절일 경우, 해당 변수에 대한 예측을 생성하는 선형 조합이 있음을 알 수 있습니다. |
| |
그리고 나서 gender=2를 입력하거나, Command 키를 누른 상태로 예측 수식을 브로드캐스트하면, 이제 두 가지 모두 사용할 수 있게 되고 gender 1과 gender 2에 대한 절을 모두 사용할 수 있게 됩니다. 즉, 그룹별로 출력에 절이 하나씩 추가되는 것입니다. |
| |
그런데 다른 항목을 저장할 때도 같은 현상이 발생합니다. 이번에는 Command 키를 누른 상태로 잔차 열을 저장해 보겠습니다. |
| |
잔차 열을 저장하면 각 그룹별로 해당 그룹에 맞는 잔차가 저장됩니다. 마치 예측된 공식 값을 원래 응답 값에서 뺀 것과 같지만, 공식 열이 아닌 일반 열 형태로 저장됩니다. |
| |
JMP의 거의 모든 곳에서 (모든 곳에서는 아니지만) 그룹별로 저장하는 방식을 대부분의 곳에서 적용했습니다. |
| |
또는 경우에 따라 WHERE 절을 통해 if 문의 조건에 맞춰 원래 데이터 테이블에 저장합니다. 네, 그렇습니다. |
| |
덕분에 많은 노력을 절약할 수 있었습니다. 만약 이 기능이 없었다면, 임시 테이블에 저장된 후 해당 수식을 잘라내어 붙여넣고 원래 테이블에 대한 조건문을 만들어야 했을 겁니다. 이렇게 해서 이러한 문제들을 해결했습니다. 이제 다시 저장하고 전체 과정을 다시 반복한다고 가정해 보겠습니다. |
| |
그리고 |
| |
그리고 다른 변수를 사용해서, 예를 들어 일부 변수를 제거하는 등의 다른 작업을 했습니다. |
| |
그리고 이제 다시 저장했어요. |
| |
그래서, |
| |
예측 공식을 저장하려고 브로드캐스트 키를 누른 상태로 시도했는데, 기존 공식에 저장하는 대신 새 공식을 만들고 그 뒤에 숫자 2를 붙였습니다. 기존 공식에 저장하지 않아야 한다는 걸 어떻게 아는 걸까요? |
| |
각 핏에는 고유 ID가 있습니다. 그리고 속성을 살펴보면... |
| |
ID로 구분되는 제품에는 고유 번호가 부여되며, 이 번호는 제품마다 새로 생성됩니다. 따라서 ID가 서로 다르면, |
| |
그룹별로 분류된 데이터는 파티션별로 분류된 데이터와 동일한 ID를 가질 수 있습니다. 하지만 ID가 같으면 같은 위치에 저장되고, 그렇지 않으면 새로운 저장 위치를 생성합니다. |
| |
또한, 예측값이라고 말할 때마다, |
| |
특히 예측 공식, |
| |
그러면 생성자 속성과 경우에 따라 다른 정보가 생성됩니다. 이 경우 목표 변수 y(예측 대상)와 생성자 속성이 포함되며, 생성자는 최소 제곱법에 적합합니다. |
| |
그리고 JMP Pro 모델 비교와 같은 다른 플랫폼을 사용할 경우, 해당 모델 비교 기능은 어떤 예측값이 어떤 크리에이터의 어떤 타겟에 해당하는지 이해할 수 있습니다. 따라서 이러한 부가 가치 플랫폼에 필요한 모든 정보를 추적할 수 있습니다. |
| |
그래서, |
| |
수식 열은 새 절을 추가하고 ID를 포함한 다른 속성을 사용하여 작동합니다. |
| |
그리고 예측 조건을 범주형 변수로 저장하면 각 응답 수준에 대한 확률을 나타내는 변수 범위를 모두 저장할 수 있고, 필요한 모든 메타데이터도 함께 저장됩니다. 이렇게 하면 많은 어려움을 줄일 수 있을 것입니다. |
| |
그래서, |
| |
모델에서 효과를 제거합니다. |
| |
자, 예를 하나 들어보죠. |
| |
피팅 |
| |
몸무게에 맞춰 키를 조절한 것 같네요. |
| |
자, 여기 고차 다항식의 예가 있습니다. 이것은 7차 다항식입니다. |
| |
그것이 더 잘 어울린다 |
| |
6차 다항식 등등. 하지만 그 적합성을 신뢰할 수 있을까요? |
| |
알고 보니, 고차 다항식 항을 도입하거나 변수를 더 많이 추가하여 모델에 유연성을 부여하면 적합될 수 있는 기회가 훨씬 많아집니다. 그리고 이 경우에는 그렇습니다. |
| |
이를 통해 이전 데이터와 마지막 데이터 포인트 사이를 심층적으로 분석하여 마지막 데이터 포인트에 더 잘 맞도록 조정할 수 있는 유연성이 확보되었습니다. |
| |
그래서 과적합이 되는 겁니다. 그 매개변수를 모델에 맞추는 대신 노이즈에 맞추고 있는 거죠. |
| |
데이터 자체. |
| |
그래서 과적합은 대규모 모델을 다룰 때 항상 문제가 됩니다. |
| |
신호에 맞춰야지 잡음에 맞춰서는 안 됩니다. 큰 모델은 예측에 더 많은 변동성을 도입하는 경향이 있는데, 결국 예측은 신호에 맞춰지기 때문입니다. |
| |
그들이 사용하는 y 변수의 함수이기도 하지만, 그 y 변수는 해당 변수의 체계적인 부분과 오차 부분을 모두 포함하는 것입니다. |
| |
무작위적이라면 예측에도 그 무작위성이 반영됩니다. 그리고 너무 많은 유연성을 허용하면 결국 잘못된 결과로 이어질 것입니다. |
| |
과적합 문제는 모델에 모든 변수를 포함시키면 예측 성능이 훨씬 더 나빠진다는 것입니다. |
| |
따라서 그 해결책은 모델의 크기를 줄이는 것, 즉 모델의 계수 크기를 줄이는 것입니다. |
| |
그래서 모델의 무작위 항으로 인한 변동성이 예측값에 전달되는 정도가 줄어듭니다. |
| |
소규모 실험 설계(DOE) 문제에서는 데이터 양이 적고, 원하는 모델에 정확히 부합하도록 데이터가 잘 균형 잡혀 있기 때문에 과적합이 문제가 되지 않습니다. 하지만 관측 데이터를 사용하는 대규모 모델의 경우, 과적합은 심각한 문제입니다. |
| |
그래서 사용자들은 JMP Pro에 교차 검증 기능을 도입하기 전까지는 그 점을 제대로 인식하지 못하는 경우가 많았습니다. JMP Pro를 사용하신다면, 유효성 검사 열을 설정할 수 있습니다. |
| |
이는 일부 데이터를 보류하여 보류된 데이터 세트에서 오류를 추정하는 방식입니다. 예를 들어, 저는 콘크리트의 물성을 예측하려고 합니다. |
| |
콘크리트의 모든 재료에 따라 달라지는데, 저는 이를 위한 거대한 모델을 가지고 있습니다. 그리고 그 모델을 실행하되, 데이터의 일부를 제외하고 R 제곱 값을 살펴보면, |
| |
SLUMP 모델에 적용했을 때, 제 모델은 아주 잘 맞았습니다. R 제곱 값이 79인데, 검증 데이터셋에서는 R 제곱 값이 음수입니다. |
| |
R 제곱 값이 음수이면 평균값만 적합시키는 것보다 모델 적합도가 떨어진다는 의미입니다. 평균값만 적합시키면 R 제곱 값이 0이 됩니다. 하지만 전체 모델을 적합시키면 R 제곱 값이 0보다 훨씬 나빠집니다. 따라서 모델 규모가 커질수록 평균값만 적합시키는 것보다 더 나쁜 결과를 초래할 수 있습니다. |
| |
모델 규모가 너무 커서 정보 전달 측면에서 오히려 역효과를 낳고 있습니다. 모델 크기를 줄이려는 노력을 전혀 하지 않았기 때문입니다. 모델이 신호보다는 노이즈에 의해 지배되고 있습니다. 따라서 이 문제는 주의해야 할 사항입니다. |
| |
그러므로 중요한 것은 모델의 크기를 줄일 수 있다는 것입니다. |
| |
그리고 이제 우리는 이를 위해 모델 대화 상자 명령을 도입했습니다. |
| |
당뇨병 모델을 통해 당뇨병에 대해 알아보겠습니다. |
| |
이 모델을 실행해보고, 예를 들어 중요하지 않은 요소들을 많이 제거하고 싶다면, 나이 같은 것들을 빼면 됩니다. |
| |
나이는 모델에 전혀 영향을 미치지 않으므로 제거하고 싶습니다. 그렇다면 다시 모델을 적합시켜 볼 수 있겠네요. |
| |
나이를 불러오거나 없앨 수도 있고, 아니면 모델 대화 상자로 바로 돌아가서 나이를 맞추고 제거할 수도 있지만, 모델 목록이 길어서 이렇게 왔다 갔다 하면서 작업하는 건 꽤 번거로울 것 같습니다. |
| |
그래서 그렇게 하는 대신에... |
| |
어디 보자, 내가 여기서 뭘 하고 있는 거지? |
| |
몇 차례 업데이트 전에 '영향 요약'이라는 새로운 보고서를 도입했습니다. |
| |
효과 요약 기능을 사용하면 모델의 예측 정확도를 높이기 위해 모델을 부분집합으로 나누는 것이 매우 쉬워집니다. |
| |
유연성을 줄여주세요. |
| |
그러니까 저는 나이는 제외할 수 있다고 말할 수 있죠. |
| |
음, 변수가 너무 많네요. 세 개 더 제거해 봅시다. |
| |
LDL은 좀 더 중요해 보이네요. 그래서 그 모델은 저장할 수 있겠어요. |
| |
이 데이터를 데이터 테이블에 저장해 두겠습니다. |
| |
그리고 나중에 다시 돌아와서 '이 기능이 있는 모델이 있었는데, 그걸 기억해 둬야겠다'라고 생각하죠. |
| |
사실 이전 작업을 되돌릴 수 있어요. 그래서 그걸 되돌리면 원래대로 돌아갑니다. |
| |
세 가지 변수 중 하나를 변경했는데, 그걸 되돌리면 나이가 원래대로 돌아옵니다. 그러니까 실제로 효과 요약을 사용해서 모델을 편집할 때, 그 모든 것들에 대한 정보가 저장되는 거죠. 그리고 그 스크립트를 보면, |
| |
이 히스토리 기능을 확인할 수 있습니다. 이펙트 모델을 실행할 때마다 히스토리 절이 저장되고, 실행 취소를 하면 저장된 히스토리대로 되돌아가는 것 같습니다. |
| |
그래서 빼는 건 쉬워요. 더하는 것도 가능하고요. 이 두 가지를 뺀 다음 다시 더할 수 있어요. 예를 들어 나이를 다시 더할 수 있죠. |
| |
좋은 방법은 아니지만, 할 수는 있어요. 모델의 축소 버전을 불러와서 모델을 수정할 수도 있고요. |
| |
모델 대화 상자에 복합 효과 등을 추가합니다. |
| |
대형 모델에서 발생하는 또 다른 현상은 다음과 같습니다. |
| |
(이 작업을 취소할게요.) |
| |
대형 모델의 경우, |
| |
당신은 가설 검정을 많이 하고 있네요. |
| |
따라서 가설 검정 횟수가 많을 경우 고려해야 할 몇 가지 조정 사항이 있는데, 그중 하나가 거짓 발견율(FDR)입니다. 즉, 이러한 모든 p값을 독립적인 검정처럼 취급하는 대신, |
| |
다중 검정 편향과 모델 부분집합 추출 과정에서 발생하는 선택 편향을 보정하기 위해 p값을 조정하고 싶습니다. 또한 거짓 발견율(FDR)을 적용할 수 있도록 하고 싶습니다. |
| |
이를 수정하기 위해 일반 p값 대신 거짓 발견 보정 p값을 사용했습니다. 이제 좀 더 현실적인 결과를 얻을 수 있습니다. 따라서 이는 과적합 문제와 가설 검정, 그리고 여러 번 검정을 수행할 때 발생하는 선택 편향 문제를 해결하는 데 도움이 될 것입니다. |
| |
것들. |
| |
그래서, |
| |
지금 |
| |
우리 |
| |
다음 주제는 변환입니다. |
| |
가정하다 |
| |
모델을 만들고 싶으신가요? |
| |
하지만 |
| |
y 대신 y의 로그 값을 구하고 싶습니다. |
| |
음, 이전에는 데이터 세트에 새 열을 만드는 것이 일반적인 방법이었습니다. |
| |
로그 및, |
| |
그리고 Log y의 경우, 당신은 |
| |
구체적으로 명시하세요... |
| |
공식을 사용하세요. |
| |
그리고 저는 가져갈 수 있습니다 |
| |
그것에 대한 기록. |
| |
이제 모델 사양으로 돌아가서 Log y를 수행할 수 있습니다. |
| |
그러고 나서야 제게 딱 맞는 옷을 찾았어요. |
| |
어머, 없어졌네. 내가 뭘 잘못했지? |
| |
입력하는 것을 잊었습니다 |
| |
객관적인 주장입니다. |
| |
그래서 이제 저는 할 수 있습니다 |
| |
Y의 로그를 맞추세요 |
| |
그리고 지금 |
| |
제가 해냈습니다. 이제 프로파일링을 해봅시다. |
| |
제 프로파일러는 Y의 로그 값을 기준으로 합니다. 예측값을 저장하겠습니다. 제 예측 공식은 y의 로그 값을 기준으로 합니다. |
| |
이제 제가 직접 수작업으로 편집해야겠네요... |
| |
그 공식을 사용하고 그 지수를 취하세요. |
| |
원래 크기로 되돌리기 위해서죠. 그런 식으로 변형 작업을 하는 건 정말 힘든 일이에요. |
| |
음, 몇 차례 발매 전에요. |
| |
우리는 변환 기능을 도입했습니다. |
| |
그래서 저는 그 변환을 이용할 수 있습니다. |
| |
로그로 변환하세요 |
| |
이제 변환으로 직접 사용하며 데이터 테이블의 일부가 아닙니다. 수식이 포함된 가상 변수이지만 데이터 테이블에 추가되지는 않습니다. |
| |
이제 제 모델을 Log y에 맞춰볼 수 있습니다. 해보겠습니다. |
| |
나이를 빼면 좀 더 잘 어울릴 거예요. |
| |
앗. |
| |
그것도 선택했었죠. |
| |
이제 저는 응답 Log y를 맞췄습니다. |
| |
그럼 그걸 프로파일링하면 어떤 결과가 나올까요? |
| |
요인 프로파일링, 프로파일러. y의 로그 값을 프로파일링하는 대신 y 자체를 프로파일링합니다. 프로파일러는 이를 변환으로 보고, 이 변환을 반전시켜 원래 스케일로 되돌릴 수 있다고 판단합니다. 그리고 실제로 그렇게 합니다. |
| |
그것 |
| |
변환을 해제하고, y의 로그를 통해 역변환하여 예측값을 원래 척도로 되돌립니다. |
| |
그리고 대부분의 역변환이 가능한 변환에 대해서는 그렇게 작동합니다. 변환에 여러 변수 등이 포함되는 경우에는 그렇게 할 수 없으며, 그냥 변환을 수행합니다. 따라서 원래는 |
| |
열을 저장할 때도 마찬가지입니다. 예측 수식을 저장할 때도요. |
| |
이는 y의 로그값이 아닌 yr 단위로 예측 공식을 저장합니다. |
| |
그래서 이러한 기능들은 시간을 엄청나게 절약해주고 변환을 사용하는 데 드는 노력을 크게 줄여줍니다. |
| |
그래서… |
| |
제가 |
| |
다시 당뇨병에 가다 |
| |
그리고 또 다른 것을 해보세요... 다른 변형을 고려해 보세요. |
| |
변수를 다룰 때는, |
| |
Box-Cox 변환 키트를 구입할 수 있습니다. |
| |
그리고 |
| |
요인 프로파일링 중 Box-Cox 옵션은 |
| |
다양한 거듭제곱 함수의 변환 여부를 알려줍니다. |
| |
어떻게 하는 게 가장 좋을까요? 그냥 변환을 되돌리는 게 나을까요? 그러면 Box-Cox 람다 값이 1이 될 텐데요. |
| |
만약 0을 입력한다면, 그것은 그 값의 로그를 취하는 것과 같습니다. 만약 -1을 입력한다면, 그것은 그 값의 역수를 취하는 것과 같습니다. |
| |
-1의 거듭제곱입니다. 만약 약 0.5를 구했다면, 그것은 그 값의 제곱근을 취하는 것과 같습니다. |
| |
그리고 이 모델은 변환에 맞춰 조정된 변환 척도에서, 즉 람다 값이 0.453인 제곱근 변환에 더 가까울수록 더 잘 맞는다는 것을 알려주는 것입니다. 0.453은 Box-Cox 변환에서 최적값입니다. |
| |
그리고 이 부분을 확대해서 볼 수 있습니다. |
| |
돋보기를 사용하여 |
| |
더 정확하게 말하자면. |
| |
그래서, |
| |
그래서 이제 저는 변신할 수 있고, 몇 번의 릴리스 전에는 그랬습니다. |
| |
네, 할 수 있어요... 제가 열을 몇 개 추가했거든요. 그중 하나는 '변환을 통한 재적합'인데, 변환 결과가 담긴 새 창이 생성될 거예요. |
| |
또 다른 하나는 변환을 바꾸는 것인데, 이제 그렇게 하겠습니다. 0.453 대신 제곱근 변환(0.5)을 사용하고, 그 변환으로 모델을 적합시키겠습니다. |
| |
그리고 이제 람다 최적값은 1 정도인데, 이는 Box-Cox 변환을 통해 이미 한 번에 변환되었기 때문에 적절한 값입니다. 이제 이 예측값을 저장할 수 있습니다. |
| |
프로필을 만들고 등등 여러 가지 작업을 할 수 있어요. 심지어 되돌릴 수도 있죠. 변형이 마음에 안 들어서 원래대로 되돌리고 싶으면, 원래대로 되돌려서 다시 조정할 수 있어요. |
| |
그래서, |
| |
우리는 고통을 덜어주는 일을 많이 해왔습니다. |
| |
반응을 변화시키는 데 있어서. |
| |
자, 이제 |
| |
데이터가 많을 때는 특별한 고통, 특별한 고통의 부위가 있습니다. |
| |
우리는 큰 문제들을 좀 더 고통 없이 해결하기 위해 많은 노력을 기울여 왔습니다. |
| |
행이 많든, 열이 많든, 그룹이 많든, 시도해 볼 모델이 많든 상관없이, |
| |
오늘날 우리는 방대한 데이터 속에서 수많은 문제점들을 마주하며 살아가고 있습니다. |
| |
따라서 원래 작은 문제를 처리하도록 설계된 분석 도구는 큰 문제에는 적합하지 않을 수 있으며, 큰 문제의 핵심 문제는 분석해야 할 결과물이 너무 많다는 것입니다. |
| |
만약 1,000개의 변수에 동일한 모델을 적용한다면, 1,000개의 보고서를 일일이 검토해야 합니다. 1,000개의 열 중에서 이상치를 찾으려면, 이상치별로 별도의 보고서를 작성해야 하는 등 번거로운 과정을 거쳐야 합니다. 저는 이렇게 간단하게 처리할 수 있는 방법을 원합니다. |
| |
대규모 데이터 세트를 보다 효율적으로 처리하기 위해 스크리닝 메뉴를 개발했습니다. |
| |
이는 이러한 대규모 문제를 해결하기 위해 고안되었습니다. 게다가 JMP에는 대규모 문제를 더 효과적으로 해결하는 다양한 기능들이 있습니다. 예를 들어 시계열 분석이 그렇습니다. 새로운 시계열 예측 플랫폼은 하나의 시계열만 예측하는 것이 아니라 여러 시계열을 예측할 수 있습니다. |
| |
스크리닝 플랫폼의 항목들은 이상치 탐색, 결측값 탐색, 패턴 탐색 등을 수행합니다. 이는 데이터 검사, 연관성 찾기, 응답 선별 등에 사용됩니다. |
| |
프로세스 스크리닝, 예측 변수 스크리닝 등이 있습니다. 그리고 물론 시계열 예측은 새로운 기능입니다. 스크리닝 메뉴에는 없지만, 대규모 문제를 처리할 수 있도록 구성되어 있습니다. |
| |
이 모든 것들은 단순히 결과를 더 간결하게 표현하는 방식을 활용하여 수천 개의 보고서를 작성할 필요가 없도록 할 뿐만 아니라, 계산 효율성 또한 높입니다. 멀티스레딩을 사용하여 시스템의 처리 능력을 최대한 활용합니다. |
| |
배수 |
| |
CPU 코어 수가 많아서 속도가 매우 빠릅니다. |
| |
예를 들어, 방대한 공정 데이터가 있다고 가정해 봅시다. 변수가 568개나 되죠. 그렇다면 이 변수들 중에서 어떤 변수가 정상적일까요? 공정 스크리닝은 바로 이 질문에 답하기 위해 설계되었습니다. 안정성, 공정능력(Ppk) 또는 불량 여부 등을 기준으로 정렬할 수 있습니다. |
| |
관리도 측정, 관리 이탈 계정 등. |
| |
하지만 제가 훨씬 더 좋아하는 건 모든 프로세스를 하나의 그래프로 보여주는 도구들이에요. 그중에서 제가 특히 좋아하는 두 가지가 있는데, 하나는 바로… |
| |
목표 그래프는 다음과 같습니다. |
| |
각 프로세스가 사양 한계와 관련하여 어떻게 작동하는지, 그리고 해당 프로세스가 사양을 충족하는 프로세스라면 이 녹색 영역에 속한다는 것을 보여줍니다. |
| |
경계선에 가까우면 노란색 영역이고, 그렇지 않으면 빨간색 영역이며, 너무 높으면 변동성이 너무 크다는 뜻입니다. 경계선의 한쪽으로 치우쳐 있으면 문제가 있는 것입니다. |
| |
와 함께... |
| |
중심에서 벗어났고, 목표에서 벗어났어요. |
| |
하지만 녹색 영역에 있다면 좋은 프로세스이며, 버전 15에서는 다음과 같은 기능을 도입합니다. |
| |
그래프릿, 마우스 오버 도움말 |
| |
그러면 마우스 커서를 올리면 각 프로세스를 볼 수 있습니다. 그리고 다른 하나는... |
| |
이 모든 것을 요약하고 수많은 보고서를 일일이 살펴보는 수고를 덜어주는 데 제가 가장 좋아하는 그래프는 바로 공정 성능 그래프입니다. 세로축은 Ppk(생산 능력) 기준으로 사양 한계 내에 있는지 여부를 보여줍니다. |
| |
따라서 값이 1.33 선 위에 있다면, 사양 한계치 대비 값 분포 측면에서 양호한 상태라고 볼 수 있습니다. 사양 한계치 내에 충분히 속해 있는 것입니다. |
| |
만약... 그렇다면 안정성 지수는 x축에 표시됩니다. 따라서 불안정한 프로세스라면, 비록 가능성은 있지만 불안정할 수 있습니다. 그런 프로세스를 살펴보면, 몇 가지 문제점을 발견할 수 있을 것입니다. |
| |
안정성 관련 요소가 다소 불안정한 상태입니다. 노란색 영역에 있다면, |
| |
능력은 있지만 불안정한 상태 등등. 레드존은 능력도 없고 불안정하기까지 한 최악의 영역입니다. 그래서 예전에는 매우 힘들었던 수백, 수천 개의 프로세스를 살펴보는 것이 이제는 아주 쉬워졌습니다. |
| |
가장 큰 변화는 무엇이었을까요? 다음은 설문조사 데이터입니다. |
| |
여러 해에 걸쳐 그들의 활동에 대해 질문하셨는데요. 혹시 질문하셨나요? |
| |
캠핑을 가고 싶으세요? 아니면 카지노에서 도박을 하고 싶으세요? 아니면 감기에 걸리셨나요? 이런 활동들 중에서 어떤 게 가장 좋을지 알고 싶으시죠? (물론 선택지는 많습니다.) |
| |
(제가 생각하기엔 95가지 활동이 있었는데) 그중 어떤 활동이 가장 큰 효과를 냈는지 알고 싶어요. 그러니까, 하나씩 차근차근 살펴보는 것도 좋은 방법일 거예요. |
| |
그리고 해당 활동을 조사 연도별로 분류합니다. |
| |
하나씩 살펴보는 대신, 응답 선별 과정을 살펴볼 수 있습니다. |
| |
차트 하나만 봐도 무엇이 가장 많이 변했는지 알 수 있습니다. |
| |
이 차트는 해당 95가지 항목 모두에 대한 정보를 보여줍니다. 먼저, P값의 음의 로그 값으로 나타낸 유의성입니다. |
| |
우리는 이것을 로그 가치라고 부르는데, 이는 거짓 발견율을 고려하여 조정된 값입니다. 따라서 모든 p값을 정렬함으로써 선택 편향을 어느 정도 해결할 수 있습니다. |
| |
그리고 뒤쪽을 선택하는 것... 낮은 P 값들. 그리고 제가 보기에 비디오테이프 대여 방식이 가장 많이 변한 것 같아요. 비디오 카세트 테이프 말이죠. 물론 그것들은 이제 쓸모없어졌죠. 그러니까 당연히 변한 겁니다. |
| |
비디오테이프 하나가 많은 것을 바꿔놓았고, 재활용품을 모으는 습관도 많은 것을 바꿔놓았으며, 집에서 사람들을 즐겁게 해주는 것도 많은 것을 바꿔놓았습니다. |
| |
그리고 중요도는 떨어지지만 효과 크기는 큰 질문이 하나 더 있습니다. 바로 "인터넷을 사용하십니까?"라는 질문입니다. 물론 이 설문조사는 인터넷이 보급되기 전에 시작되었기 때문에 많은 것이 바뀌었습니다. 가장 많이 바뀐 점은 무엇이었을까요? |
| |
예전에는 어려웠던 일이 이제는 쉬워졌습니다. |
| |
빅데이터에 대해 또 다른 질문으로, 결측값은 어디에 있냐고 하셨는데요. 여기에 답변드리겠습니다. |
| |
280개의 변수. |
| |
결측값은 어디에 있나요? 결측값에 대해 걱정해야 할까요? 결측값 탐색 보고서를 보면 결측값이 있는 변수는 다섯 개뿐이라는 것을 알 수 있습니다. |
| |
어떤 데이터는 결측값이 하나뿐이지만, 어떤 데이터는 결측값이 많습니다. 따라서 다변량 분석을 할 때, 결측값이 많은 데이터는 포함하지 않는 것이 좋을 수 있습니다. |
| |
452개 변수 중 376개입니다. 또는 J를 포함하려면 다음과 같이 할 수 있습니다. |
| |
그리고 누락된 값을 대체합니다. |
| |
그렇게 하면 되는 거죠. |
| |
그래서, |
| |
다음 질문은 데이터에 이상치가 있는지 여부입니다. |
| |
음, 저는 이 과정에서 387개의 측정값을 얻었습니다. 그리고 그 안에 이상치가 있는지 확인하고 싶습니다. 이제 스크리닝 메뉴에서 이를 확인할 수 있는 기능이 있습니다. |
| |
이 값의 민감도를 높이거나 낮춥니다. |
| |
좀 더 민감하게 만들어 봅시다 |
| |
이상치가 줄어들고 재검사 횟수가 줄어듭니다. |
| |
제가 볼 수 있어요 |
| |
~에 |
| |
9라는 숫자들. 종종 9가 연속으로 나열되어 결측값을 나타내는데, 이 9들이 실제 9일 수도 있지만 단순히 결측값을 나타내는 지표일 수도 있습니다. 그래서 저는 그런 경우, 결측값 코드에 9를 추가하면 메모리가 변경된다고 말할 수 있습니다. |
| |
이제 저는 할 수 있습니다 |
| |
(여기에는 변수가 많습니다) 다시 위로 올라가서 재스캔하면 걱정해야 할 결측값이 줄어듭니다. |
| |
그래서 이상치를 탐색하는 것은 예전에는 골칫거리였습니다. |
| |
여전히 큰일일 수 있지만, 예전보다는 훨씬 쉬워졌습니다. |
| |
버전 15에서는 새로운 스크리닝 플랫폼을 추가했습니다. 데이터에 의심스러운 패턴이 있습니까? 여기 임상 시험에서 얻은 실험실 데이터가 있습니다. 니카르디핀 실험실 패턴 데이터입니다. 제가 살펴볼 만한 실험실 결과가 27개 있습니다. 그래서 이 플랫폼을 실행합니다. |
| |
새로운 플랫폼에서 결측값을 탐색해 보겠습니다. 이 기능을 사용하면 연속된 값이 있는지 확인할 수 있습니다. 예를 들어 0.03536이라는 값이 있는데, 해당 행부터 시작해서 7개의 값이 연속으로 나타납니다. |
| |
2065. 해당 셀에 색을 입힐 수도 있고, 값을 살펴볼 수도 있는데, 어쩌면 마지막 값이 그대로 이월된 것일 수도 있고, 그건 그다지 의심스럽지 않을 수도 있습니다. 이 경우에는... |
| |
같은 사람입니다. 따라서 마지막 값을 그대로 사용하는 것이 합리적인 방법일 수도 있지만, 이러한 데이터를 분산했을 경우 그런 경우는 매우 드뭅니다. |
| |
만약 이러한 것들이 무작위로 분포한다고 가정한다면요. |
| |
또한 가장 긴 중복 시퀀스도 있습니다. 이 변수의 경우 2816번째 행과 3034번째 행에서 같은 값을 가진 항목이 네 개 연속으로 나타납니다. 해당 부분을 색칠하면 네 개가 연속으로 있는 것을 확인할 수 있습니다. |
| |
다음 시퀀스로 이동하면 동일한 값을 가진 항목이 네 개 연속으로 있습니다. 따라서 이는 동일한 값을 한 곳에서 다른 곳으로 잘라내기 붙여넣기한 결과일 수 있습니다. |
| |
그러니까 패턴 탐색은 그런 것들을 찾는 겁니다. 그리고 27개 변수 각각에 대한 세부 정보를 살펴보고 의심스러운 징후를 찾거나 하는 등 다른 많은 것들을 할 수 있습니다. |
| |
데이터 처리 방식의 부작용 등. |
| |
그래서, |
| |
큰 문제를 해결하는 데 있어 패턴을 탐구하는 것은 중요한 부분입니다. |
| |
그래서, |
| |
통증 완화. 저희 개발의 상당 부분은 분석 과정을 더욱 원활하고, 부담스럽지 않고, 시간 소모가 적고, 고통스럽지 않게 만드는 데 집중되어 있습니다. 진통제와 같습니다. |
| |
우리는 무엇이 고통스러운지 항상 알 수는 없습니다. 그래서 무엇에 집중해야 할지 피드백에 의존합니다. 제가 수백 번씩 답장해야 했던 그런 이메일을 받을 때면, |
| |
저희는 그 의견을 듣고 그 고통을 느꼈으며, 문제를 해결하여 이제 수천 개의 콘텐츠가 포함된 그룹으로 방송할 수 있도록 했습니다. |
| |
여러 번 대화하는 대신 한 번의 대화 결과를 바로 전달하는 것이 더 효율적입니다. 처음에는 저희가 놓쳤던 부분을 다시 알려주셔서 모두에게 도움이 되었습니다. 여러분의 의견을 들려주세요. |
| |
지금까지 이루어낸 모든 개선 사항 덕분에 데이터 준비 및 분석 프로세스가 훨씬 더 원활해지고, 중단이 줄어들고, 흐름이 훨씬 자연스러워졌다고 생각합니다. |
| |
그래서, |
| |
장애물을 극복하는 데 시간을 허비하는 대신, 데이터를 통해 배우고 데이터를 이해하는 데 시간을 투자하세요. |
| |
분석. 이 두 단어가 같은 어원에서 유래했는지 궁금해할 수도 있겠지만, 물론 우리는 이 두 단어를 줄여서 쓰는 것을 좋아하지 않습니다. |
| |
분석(Analytics)은 그리스어 analyein에서 유래했는데, 저는 그 단어를 어떻게 발음하는지 몰라요. |
| |
하지만 그리스어에서 이 단어는 '분리하다', '해방하다', '자유롭게 하다'라는 뜻입니다. 복잡한 것을 여러 조각으로 나누어 우리가 이해할 수 있도록 하는 것이죠. |
| |
물론, 그것이 바로 우리가 데이터를 분석하는 데이터 과학에서 하는 일입니다. 그리고 진통제(analgesis)는 '~없이'라는 뜻의 접두사 'an-'과 '고통'을 뜻하는 'algesis'의 조합에서 유래했습니다. 접두사는 같지만 어근은 약간 다릅니다. |
| |
그리고 그것들을 줄여 쓰지 마세요. |
| |
단백동화 및 최음 효과. 우리는 힘을 중요하게 생각합니다. |
| |
저희가 하는 일의 대부분은 JMP Pro와 JMP 모두에서 데이터를 분석할 수 있는 더욱 강력한 도구를 제공하는 것입니다. |
| |
그리고 우리는 데이터가 흥미진진한, 즉 발견의 스릴을 선사해주기를 바랍니다. |
| |
JMP의 강력한 기능을 사용하는 방법을 배우는 스릴은 정말 짜릿하고 흥미진진하다고 생각합니다. 마치 최음제 같죠. |
| |
그래서 우리에게는 힘과 흥분 또한 중요한 가치입니다. 단순히 통증 완화만이 전부는 아닙니다. |
| |
그럼 내년에 우리는 뭘 할 건가요? |
| |
음, B로 시작하는 어려운 단어들이네요. |
| |
A부터 시작해서 다음은 B인 거죠? |
| |
네, 내년에는 JMP 16이 출시될 예정입니다. 그래서 오늘은 그 이야기를 나눠보려고 합니다. 그 다음 해에는 또 어떤 이야기를 하게 될지 모르겠네요. 감사합니다. 그리고 데이터 분석 과정에서 어려움이 거의 없으시길 바랍니다. |
| 제프 퍼킨슨 |
존, 정말 감사합니다. 저희도 진심으로 감사드립니다. 정말 훌륭한 강연이었고, 오랜 세월 동안 많은 고통을 목격해 온 저에게는 더욱 깊은 공감이 갔습니다. |
| |
네, 말씀하신 모든 것이 절대적으로 맞습니다. 통증 완화는 저희에게 매우 중요한 부분입니다. |
| |
실제로 여러 질문이 들어왔는데, 질의응답 시간에 일부 답변은 드렸지만, 제가 여러분께 드리고 싶은 질문은 다음과 같습니다. |
| |
그것은 통증 완화 효과도 있었고, 어느 정도 매력도 부여하여 JMP의 효능을 더욱 강화시켰나요? |
| 존 홀 |
음, 제 생각엔 모두가 가장 좋아하는 기능은 그래프 빌더인 것 같아요. |
| |
변수들을 끌어다 놓고 몇 번만 클릭하면 원하는 그래프를 만들 수 있고, 수정도 아주 쉽게 할 수 있다는 점이 정말 강력하게 느껴집니다. |
| |
그래서 정말 짜릿한 경험이에요. 강력한 기능이고 통증 완화에도 도움이 되죠. 예전에는 이런 작업을 하기가 훨씬 어려웠거든요. 그래서 모두가 가장 좋아하는 부분이라고 생각해요. |
| |
하지만 물론 JMP는 풍부한 기능을 갖춘 제품이며, 우리는 그 안에 있는 모든 것을 자랑스럽게 생각합니다. 실험 설계 등 모든 것이 그렇습니다. |
| |
거기에는 엄청난 힘이 얽혀 있고, 우리는 그 과정을 최대한 쉽게 만들려고 노력했습니다. 그리고 많은 것들이 떠오릅니다. |
| 제프 퍼킨슨 |
아주 좋습니다. 존, 정말 감사합니다. 이 강연이 마음에 드셨다면 두 가지 제안을 드리고 싶습니다. 첫째, 이 내용을 게시할 예정입니다. |