Saturday 24 February 2018

Sas proc expand moving average example


SAS 시스템의 릴리스 6 08부터 SAS ETS 소프트웨어의 PROC EXPAND를 사용하여 다양한 데이터 변환을 수행 할 수 있습니다. 이러한 변환에는 리드, 지연, 가중 및 비가 동 이동 평균, 이동 합계 및 누적 합계가 포함됩니다 중앙 집중식 및 역방향 이동 평균에 대한 별도의 사양을 포함하여 여러 가지 새로운 변환이 릴리스 6에서 추가되었습니다. 이러한 새로운 변환으로 인해 릴리스 6 이전에 지원되는 일부 변환에 대한 구문을 수정해야했습니다. 12 Release 6 11 이전 버전과 Release 6 12 이후 버전을 사용하는 역방향 이동 평균은 아래에 나와 있습니다. PROC EXPAND는 가운데 이동 평균 또는 역방향 이동 평균을 계산할 수 있습니다. 5주기 중심 이동 평균은 총 5 개의 연속 값을 평균하여 계산됩니다 그 직전의 2 개의 값과 현재의 값 A의 직후의 2 개의 값 이외에, 5 기간 역방향 이동 평균은 현재 기간 값을 직전 4 기간의 값과 평균하여 계산됩니다. 다음 구문은 TRANSFORM MOVAVE n 사양을 사용하여 릴리스 6 11 또는 5를 사용하여 5 기간 가운데 이동 평균을 계산하는 방법을 보여줍니다. 릴리스 6 11 이전 버전을 사용하여 n 기간 역방향 이동 평균을 계산하려면 TRANSFORM MOVAVE n LAG k 사양을 사용하십시오. 여기서 n은 홀수 인 경우 k n-1 2 또는 n이 짝수 인 경우 k n-2 2 예를 들어, 다음 구문은 릴리스 6 11 이전 버전을 사용하여 5 기간 역방향 이동 평균을 계산하는 방법을 보여줍니다. 다음 구문은 TRANSFORM CMOVAVE n 사양을 사용하여 릴리스 6 12 이상을 사용하여 5 기간 가운데 이동 평균을 계산하는 방법을 보여줍니다 . 다음과 유사한 구문은 TRANSFORM MOVAVE n 사양을 사용하여 Release 6 12 이상을 사용하여 5 기간 역방향 이동 평균을 계산하는 방법을 보여줍니다. 자세한 내용은 EXPAND ch의 변환 조작을 참조하십시오. SAS ETS 사용자 안내서를 참조하십시오. SAS ETS에 액세스 할 수없는 경우이 샘플 프로그램에서 설명한 것처럼 DATA 단계에서 이동 평균을 계산할 수 있습니다. 운영 체제 및 릴리스 정보. SAS 초급자이고 궁금합니다. 다음과 같은 작업이 현재 내 머리 속에 들어 있기 때문에 훨씬 더 간단하게 할 수 있다면. 나는 userdatemoney. User - Date - Money라는 테이블에 다음과 같은 단순화 된 메타 데이터를 가지고있다. 지난 4 일 동안 매일 년 데이터는 사용자 ASC와 날짜 ASC에 의해 정렬됩니다. 샘플 데이터는 다음과 같습니다. 저는 이처럼 지연 기능을 가진 꽤 인기있는 apprach로 시작한 Money의 5 일 이동 평균을 계산하려고합니다. 보시다시피, 데이터 단계가 새로운 사용자 Aron으로 실행되는 경우 Anna에서 느린 값을 얻을 것입니다 물론이 문제가 발생합니다. 당연히 내 문제는 안됩니다. 저는 여러분이 다음과 같은 몇 가지 추가 필드를 추가하여 사용자 전환을 처리 할 수 ​​있다고 확신합니다. laggeduser 및 N, 합계와 평균 변수가 그러한 스위치를 발견하면 알 수 있습니다. 더 쉬운 방법으로 수행 할 수 있습니다. 어쨌든 BY 절을 사용하십시오. 아이디어와 도움을 주셔서 감사합니다. 가장 쉬운 방법은 PROC EXPAND를 사용하는 것입니다. 존의 코멘트, 누락 된 값과 처음과 끝 관측에 대해서도 기억하는 것이 중요합니다. 나는 SETMISS 옵션을 코드에 추가했습니다. 누락 된 값을 0으로 만들고, MOVAVE의 기본 동작을 무시하지 않으려 고 했으므로 이동 평균 5를 계산하기에 충분한 사전 이력이 없기 때문에 각 사용자에 대한 처음 4 개의 관측치를 제외 시키려면 TRANSFORMOUT에서 옵션 TRIMLEFT 4를 사용할 수 있습니다. 12 월 3 일 13시 15 분 29 초에 사용할 수 있습니다. TRANSFORMIN 및 TRANSFORMOUT 옵션은 표 14에 나와 있습니다. 1 연산은 시리즈의 각 값에 적용됩니다. 시리즈의 각 값은 연산의 결과로 대체됩니다. 표 14에서 1 또는 x는 특정 기간 t bef o 변환이 적용되고 결과 시리즈의 값을 나타내고 N은 관측의 총 수를 나타냅니다. 표기법 n은 인수 n이 선택 사항임을 나타내며 기본값은 1입니다. 표기법 창은 이동 통계 연산자의 인수로 사용됩니다 , 그리고 마침표의 정수 n 또는 괄호 안에 n 개의 가중치 목록을 지정할 수 있음을 나타냅니다. 표기법 시퀀스는 시퀀스 연산자의 인수로 사용되며 일련의 숫자를 지정해야 함을 나타냅니다. 표기법 s 계절성의 길이를 나타내며 필수적인 인수입니다. 표 14 변환 조작. 지정된 수를 추가하여 지정된 수를 곱합니다. 지정된 숫자로 지정된 수를 곱합니다. 지정된 수로 표시합니다. 다음 이동 창 합계 또는 곱을 나타냅니다. 연산자는 창 너비에 맞게 조정되어야합니다. 고전적인 분해 불규칙한 구성 요소. 고전적인 분해 계절의 구성 요소. 고전적 분해 seaso 클래식 분해 첨가물 불규칙 성분. 클래식 분해 첨가제 계절 성분. 클래식 분해 첨가제 계절적으로 조절 된 시리즈. 가장 큰 정수. x. 중앙 이동 평균. 중앙 이동 보정 제곱의 합. 중심 이동 기하 평균. 중심 이동 최대. 중심 이동 중앙. 중심 이동 최소. 중심 이동 제품. 중심 이동 범위. 중심 이동 순위. 중심 이동 표준 편차. 중심 이동 합. 중심 이동 .- 값. 중심 이동. 정정되지 않은 합 . 중심 이동 분산. 누적 보정 된 제곱의 합계. 누적 기하 평균. 누적 표준 편차. 누적 t - 값. 누적 보정되지 않은 제곱의 합. 간격 n 차. 가중 이동 평균 with. smoothing 가중치. 간단한 지수 평활이라고합니다. 차이가있는 분수 차이 order d 여기서 x 이하의 최대 정수. 합계 차수 d와의 부분 합계. Hodrick-Prescott 필터 트렌드 구성 요소. 여기서 λ는 음수가 아닌 필터 매개 변수입니다. Hodrick-Prescott 람다는 음수가 아닌 필터 매개 변수입니다. 반대로 logistic function. value series. new보다 먼저 n주기의 값. x와 number의 최대 값. x와 number의 최소값. 최소값. if, else x. missing value if, else x. missing value if, else x. missing value if, else x. missing value if, else x. missing value if, else x 인접한 값의 역 이동 평균. 인접 값의 역방향 가중 이동 평균. 역방향 이동 정정 된 제곱의 합. 역방향 이동 기하 평균 후진 이동 최대, 후진 이동 중앙값, 후진 이동 최소값, 후진 이동 물, 후진 이동 범위, 후진 이동 랭크, 후진 이동 표준 편차, 후진 이동 총계, 후진 이동량 τ 값, 다음 이동 시간 window. statistic 연산자는 누락 된 값만을. moving 통계로 대체해야하며 미해결 값은 변경되지 않은 채로 두어야합니다. MEAN 옵션을 지정하면 누락 된 값이 다음과 같이 바뀝니다. 시리즈의 전반적인 평균. 기호는 다음과 같은 이동 시간 window. statistic 연산자는 현재 값과 누적 합계 지연 기간의 현재 값과 지연 n. percent 합계 누락 값을 허용해서는 안됩니다 것을 나타냅니다. 현재 값과 lag. reverse의 현재 값의 비율. and. add와 시퀀스 값 사이의 series. scale 시리즈와 sequence 값에 의한 series. divide 시리즈 사이의 시퀀스 값. 시퀀스 값에 의한 series. multiply 시리즈에 대한 시퀀스 값의 감소. to. set의 모든 값 설정 to. set의 시작 값은 지정된 수의 계열에서 누락 된 값을 다시 채 웁니다. x가 0, 같음 또는 0 인 경우 to.-1, 0 또는 1의 끝 값을 각각 다중 값으로합니다. ples of n - period lags. sets 값이 누락 된 경우. sets 값이 누락 된 경우 if. sets 값이 누락되었습니다. 시간 창 조작자를 이동 중입니다. 일부 연산자는 이동 시간 창 내에서 값 집합에 대한 통계를 계산합니다. 시간 이동 윈도우 연산자는 CMOVAVE, CMOVCSS, CMOVGMAN, CMOVMAX, CMOVMED, CMOVMIN, CMOVPROD, CMOVRANGE, CMOVRANK, CMOVSTD, CMOVSUM, CMOVUSAL 및 CMOVVAR입니다. 이 연산자는 관측 값에 대한 통계를 계산합니다. 뒤로 이동 시간 창 연산자는 MOVAVE, MOVCSS, MOVGME, MOVMAX, MOVMED, MOVMIN, MOVPROD, MOVRANGE, MOVRANK, MOVSTD, MOVSUM, MOVTVALUE, MOVUSS 및 MOVVAR입니다. 모든 이동 시간 창 연산자는 시간 창에 포함 할 기간 수를 지정하는 인수를 허용합니다. 예를 들어, 다음 명령문은 X의 5 기간 역방향 이동 평균 이 예제에서 결과 변환은 다음과 같습니다. 다음 명령문은 X의 5주기 중앙 이동 평균을 계산합니다. 이 예에서 결과 변환은입니다. 이동 시간 창 조작자가 가운데에있는 창이 홀수가 아닌 경우 리드 값보다 지연된 값이 시간 창에 포함됩니다. 예를 들어 CMOVAVE 4 연산자의 결과는 다음과 같습니다. 뒤로 이동 시간 창 연산자와 REVERSE 연산자를 결합하여 앞으로 이동 시간 창 연산을 계산할 수 있습니다. 예를 들어 다음과 같습니다 계산서는 X의 5 기간 앞으로 이동 평균을 산출한다. 이보기에서는, 결과적인 변환은이다. 움직이는 시간 창 연산자의 어떤 것은 당신이 무게 통계의 산출을 위해 무게 가치의 명부를 지정할 수있게한다. 이들은 CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVPROD이다. , CMOVSTD, CMOVSTAL, CMOVUSS, CMOVVAR, MOVAVE, MOVCSS, MOVGMEAN, MOVPROD, MOVSTD, MOVTSALUE, MOVUSS 및 MOVVAR. 가중 이동 시간 창 연산자를 지정하려면 가중치 연산자 이름 다음에} 호로 - 니다. 창 너비는 지정하는 가중! 수와 동일하지 않습니다. 예를 들어, 다음 명령문은 가중 5주기의 X 이동 평균을 계산합니다. 이 예에서 결과 변환은 다음과 같습니다. 가중치는 0보다 커야합니다. 가중치가 1이 아닌 경우, 지정된 가중치를 합계로 나누어 통계를 계산하는 데 사용되는 가중치를 생성합니다. 일련의 시작 시간에는 전체 시간 창을 사용할 수 없습니다. 중심에있는 연산자는 시리즈의 끝 부분에서 전체 창을 사용할 수 없습니다. 이동 시간 창 연산자의 계산은 이러한 경계 조건에 대해 다음과 같이 조정됩니다. 역 이동하는 창 연산자의 경우 시간 창의 폭이 예를 들어, MOVSUM 3 연산자의 결과는 다음과 같습니다. 값을 무시합니다. TRIM, TRIMLEFT 및 TRIMRIGHT 연산자를 사용하여 결과 시리즈의 길이를자를 수 있습니다 et 값을 누락 된 값으로 설정할 수 있습니다. 이 함수를 사용하여 시간 창 연산자를 이동 한 결과를 잘라내어 결과 시리즈에 전체 폭 시간 창에서 계산 된 값만 포함되도록 할 수 있습니다. 예를 들어 다음 명령문은 X의 5 단계 이동 평균과 5 개 미만의 평균값 인 계열의 끝에서 누락 된 값으로 설정합니다. 일반적으로 이동 시간 창 및 누적 통계 연산자는 누락 된 값을 무시하고 누락 값에 대한 결과를 계산합니다 NOMISS 연산자가 선행 될 때 시간 창 내의 값이 누락되면 이러한 함수는 누락 된 결과를 생성합니다. NOMISS 연산자는 계산을 수행하지 않지만 그 뒤에 오는 이동 시간 창 연산자의 작업을 수정하는 역할을합니다. NOMISS 연산자 예를 들어, 다음 명령문은 변수의 5 개 기간 이동 평균을 계산합니다 5 개의 값 중 하나가 누락되면 누락 된 값을 생성합니다. 다음 명령문은 변수 X의 누적 합계를 계산하지만 처음 누락 된 X 값 이후의 모든 기간에 대해 누락 값을 생성합니다. NOMISS 연산자와 마찬가지로 MISSONLY 연산자는 MEAN 옵션을 따르지 않으면 계산을 수행하지 않지만 그 다음에 오는 이동 시간 창 연산자의 연산을 수정하는 역할을합니다. MISSONLY 연산자가 선행 될 때 이러한 이동 시간 창 연산자는 누락 된 값을 이동 통계로 대체하고 예를 들어, 다음 명령문은 변수 X의 누락 된 값을 X의 과거 값의 지수 가중 이동 평균으로 바꾸고 비 해싱 값을 변경하지 않습니다. 누락 값은 지정된 지수 가중 이동 평균을 사용하여 보간됩니다. 간단한 지수 스무딩이라고도합니다. 다음 명령문은 var의 누락 된 값을 대체합니다 예를 들어, 다음 명령. 은 변수 X의 누락 된 값을 숫자 8로 대체합니다. 77. Classical Decomposition Operators. If는 다음과 같습니다. 시즌 별 관측치를 갖는 계절 시계열, 고전적 분해 방법은 시계열을 네 가지 구성 요소로 분류합니다. 추세, 주기, 계절별 및 불규칙한 구성 요소 추세 및 순환 구성 요소는 종종 추세 순환 구성 요소를 형성하기 위해 결합됩니다. 클래식 분해 multiplicative 및 첨가제, 아래에 표시됩니다. 사용 예제입니다. 곱셈 계절 인덱스는 4 분기에 대해 0 9, 1 2 0 8, 1 1 SEASADJ를 계절에 따라 곱셈 방식으로 조정 한 분기 별 시계열 변수로합시다 패션 계절성을 SEASADJ로 복원하려면 다음 변환을 사용하십시오. 추가 계절 지수는 4/4, -1 1, -2 1 및 -1 2입니다. SEASADJ는 분기 별 시계열 변수로 계절에 따라 수정 된 방식으로 계절 변화를 SEASADJ로 복원하려면 다음 변환을 사용하십시오. 연산자 집합에 대해 첫 번째 매개 변수는 대체 될 값을 나타내고 두 번째 매개 변수는 , 대체 값을 나타냅니다. 교체는 시리즈의 시작, 중간 또는 끝 부분으로 지역화 될 수 있습니다. 사용 예. 최근에 상점이 열렸고 판매 내역이 누락 된 값을 인식하지 못하는 데이터베이스에 저장되었다고 가정합니다. 영업 개시 이전에 수요가 있었을 수 있습니다. 이 데이터베이스는 0의 가치를 할당합니다. 판매 내역을 모델링하는 것은 문제가 될 수 있습니다. 판매 내역이 대부분 0이기 때문에이 결점을 보완하기 위해 선행 0 값을 나머지 0으로 누락하도록 설정해야합니다 값은 변하지 않는다. 마찬가지로, 상점이 최근에 폐쇄되었다고 가정하자. 수요가 여전히 존재할 수 있으며 따라서 ze의 기록 된 값 ro는 실제 요구를 정확하게 반영하지 않습니다. Scale Operator. For scale 연산자에 대해 첫 번째 매개 변수는 최소값 및 두 번째 매개 변수와 관련된 값을 나타내며, 는 원래 시리즈의 최대 값과 관련된 값을 나타냅니다. 원래의 데이터를 매개 변수 사이와 다음과 같이 recales. Usage ofSuppose. 두 개의 새로운 제품 판매 이력이 변수에 저장되어 있고 채택률을 결정하고자한다. 채택 된 이력을 비교하기 위해 변수는 comparison. Adjust Operator. 이동 합계 및 제품 창 연산자의 경우 계열의 시작과 끝의 창 너비가 시리즈 중간보다 작습니다. 마찬가지로 누락 된 값이 있으면 창 너비가 specified ADJUST 연산자 앞에 MOVSUM CMOVSUM 및 MOVPROD CMOVPROD 이동 물 합계가 창에 의해 조정되면 예를 들어, 변수에 10 개의 값이 있고 폭 3의 이동 합계 연산자가 적용되어 조정되지 않은 변수와 창 너비 조정을 사용하여 변수를 생성한다고 가정합니다. 위의 변환 결과는 and,, 다음과 같은 관계가됩니다. 첫 번째 두 창 너비는 3보다 작습니다. 예를 들어, 변수에 10 개의 값이 있고 너비 3의 이동 곱 연산자가 적용되어 조정되지 않은 변수와 창 너비 조정이 적용되는 변수가 생성됩니다. 위의 변환 결과는 첫 번째 두 창 너비가 3. 이동 T 값 연산자보다 작기 때문에 다음과 같습니다. 이동하는 T 값 연산자 CUTVALUE, MOVTVALUE, CMOVTVALUE 누적 시리즈 또는 이동 창의 t 값을 계산합니다. 조합으로 볼 수 있습니다 CUAVE, MOVAVE, CMOVAVE 및 이동 표준 편차 CUSTD, MOVSTD, CMOVSTD 각각의 평균 이동 연산자입니다. 백분율 합계 및 현재 값의 백분율 차이 및 백분율 합계 연산자 PCTSUM이 계산됩니다. 위의 방정식 값 중 누락 된 값이 누락되거나 누적 합이 0이면 결과가 누락으로 설정됩니다. 차이 차이 연산자 PCTDIF가 계산합니다 선행 방정식의 값 중 하나라도 누락되거나 지연 값이 0이면 결과가 누락으로 설정됩니다. 예를 들어 변수에 시리즈가 있다고 가정하십시오. 변수 4를 생성하기 위해 지연 4의 백분율 합계가 적용됩니다. 지연 연산자 4는 변수를 작성하기 위해 적용됩니다. 비율 연산자는 현재 값과 값의 비율을 계산합니다. 비율 연산자 RATIO가 계산됩니다. 이전 방정식의 값 중 하나라도 누락되거나 지연 값이 0이면, 결과는 누락으로 설정됩니다. 예를 들어, 변수에 계열이 포함되어 있다고 가정합니다. 변수에 할당 된 현재 값과 지연 값 4의 비율입니다. nt 값과 lag 4 값이 변수에 할당됩니다.

No comments:

Post a Comment