교체를 통한 무작위 샘플링이것을 할 수 있습니까? Tables-> Subset 함수가 허용하는 것으로 나타나지 않습니다.
JMP Pro 플랫폼의 다양한 부분에서 Bootstrap 추정치를 얻을 수 있다는 것을 알고 있지만 데이터 테이블 생성에 대해 특별히 궁금합니다.
감사합니다!
다시 : 교체와 무작위 샘플링안녕 웬디
예, 아래 스크립트를 참조하십시오. 4 개의 라인 테이블이 필요하며 10 개의 샘플을 교체로 가져옵니다. 이것을 해제하려면 AsList () 함수가 필요합니다. 그렇지 않으면 불행히도 오류가 발생합니다.
Names Default To Here( 1 );
dt = astable((1::4)`);
nSamples = 10;
dt2 = dt << subset( rows( As List( J( nSamples, 1, Random Integer( 1, N Row( dt ) ) ) ) ) );
다시 : 교체와 무작위 샘플링안녕하세요 Wendy, 데이터 테이블에서이 작업을 수행 할 수 있습니다. 열 머리글을 마우스 오른쪽 버튼으로 클릭하고 새 수식 열, 임의를 선택한 다음 교체 샘플을 선택합니다.
다시 : 교체와 무작위 샘플링안녕 웬디, 나는 명확히해야한다.
Mia가 언급 한 New Formula Column 기법은 사용자가 크기가 테이블의 행 수보다 작거나 같은 샘플을 원할 경우 작동합니다. 더 큰 샘플이 필요한 경우 포인트 앤 클릭을 통해이 작업을 수행하는 방법을 알 수 없습니다 (효율적으로, 즉 테이블 크기가 충분히 커지고 비효율적이지만 작동 할 때까지 테이블을 연결하는 방법). 어쩌면 다른 사람들이 그렇게 할 수있는 방법으로 차임 할 것입니다.
이 스크립트는 모든 샘플 크기에서 작동하지만 요청 된 행 수가 원래 테이블의 행 수를 초과 할 때마다 행 매트릭스를 감싸는 As List () 함수가 필요합니다.
다시 : 교체와 무작위 샘플링둘 다 감사합니다! 예-고객이 오버 샘플링해야 할 수도 있으므로 다른 사람들이이를 어떻게 달성했는지 알면 도움이됩니다.
다른 관련 질문은 계층화와 관련이 있습니다. 대체로 재 샘플링하여 다른 속성을 배포 할 수 있습니까?
다시 : 교체와 무작위 샘플링안녕하세요 wendy ,
이있다 대체 애드 인이 포함 된 샘플 오버 샘플링을 수행 할 수 있지만 다른 변수에 대해서는 계층화 할 수 없습니다.
julian
다시 : 교체와 무작위 샘플링안녕 웬디
고객이 스크립트를 작성할 의향이 있는지 확실하지 않지만 범주 변수를 계층화하기 위해 아이디어를 쉽게 확장 할 수 있습니다. 아래의 짧은 스크립트는 Car Physical Data 데이터 셋과 "Type"열에 대해이 작업을 수행합니다. 원래 테이블에 116이있는 1000 개의 행이 요청됩니다. 각 범주의 샘플 크기를 가장 가까운 정수로 반올림하여 1002 개의 행이 반환됩니다.
이것이 가장 빠른 방법은 아니지만 비교적 이해하기 쉽습니다. 아마도 당신은 이것을 통해 고객이 원하는 것을 스크립팅 할 수 있을까요?
건배,
브래디
Names Default To Here( 1 );
dt = Open( "$Sample_Data\Car Physical Data.jmp" );
stratCol = Column( dt, "Type" );
nSample = 1000;
//determine the (over)sampling ratio
sRatio = nSample / N Row( dt );
//get a list of the stratification column's values
categories = ((Associative Array( stratCol << get values ) << get keys));
// initialize the master row matrix
rowMat = [];
//For each category
For( i = 1, i <= N Items( categories ), i++,
// Get the table rows belonging to this category
catRows = dt << getrowswhere( dt:stratCol == categories[i] );
// Determine how many rows belong to this category
catN = N Items( catRows );
// Oversample these row values by the specified ratio, and append them to the master row list
rowMat |/= catRows[As List( J( Ceiling( catN * sRatio ), 1, Random Integer( 1, catN ) ) )];
);
// Subset the data table, using the final master row list
dt << subset( rows( As List( rowMat ) ) );
다시 : 교체와 무작위 샘플링오버 샘플링을 위해 다음 추가 기능도 있습니다. 계층화 된 데이터 분할 (밸런싱 옵션 사용) 추가 기능
JMP 15에서 테스트하지 않았습니다 ...
다시 : 교체와 무작위 샘플링이것이 UC Denver의 전문가를 위해 지정한 것입니다. 코드를 살펴보고 Train / Test / Validate에 침입하지 않고 코드를 작동시키는 방법을 생각할 수 없었습니다.