2017-12-02 11 views
1

Python - 2D 배열에 대해 f- 테스트를 수행하는 방법은 무엇입니까?

내가 두 배열을 가지고 문제, 우리는 그들이 AR2 (크기 (192289)), 표준 편차의 위도 - 경도의지도를 대표하는 Ar1 및 전화 할게, 난의 유사 크기의 배열을 자신의 차. 나는 두 가지 배열의 차이가 95 % 신뢰 수준 (alpha = 0.05)에 통계적으로 유의미한 점을 찍은 패턴 위에 차이를 그리고 싶습니다.

내, 코딩이 예제를 사용했다

코드

How do I do a F-test in python

내가

F = np.var(ar1)/np.var(ar2) 
print np.var(ar1), np.var(ar2) 
print F 
Y.

ar1 및 X 용의 ar2 및 대체, 조엘 코 네트의 솔루션을 사용

0.118586507371 0.161485609461 0.734347213766

다음 분석에서 N은 배열의 포인트 수인 55848 (192 x 289) 인 분석을 위해 N-2 자유도를 원합니다. len(ar1)len(ar2)은 첫 번째 차원의 길이 만 제공하므로 여기서는 작동하지 않으므로 올바른 길이의 배열을 병합하려했습니다.

55486 55486

df1 = len(np.ndarray.flatten(sdmod)) - 2 
df2 = len(np.ndarray.flatten(sdcon)) - 2 
print df1, df2 

그러나, I-289는 9.88365269356e의 p- 값 (실질적으로 0)으로 끝내이 앞으로가는. 이것은 하나의 값이며,이 특별한 경우에 예상했던 것처럼 통계적으로 중요하지는 않지만 점진적인 변화를 위해서는 값 배열이 필요합니다. 따라서 차이점이있는 눈금 선이 있는지 확인할 수 있습니다. 나는리스트 나 다른 1-D 데이터 타입을 사용하고있는 모든 예제를 2 차원 배열로 테스트하는 방법을 잘 모르고 있으며, 전에는 이런 식으로 분석을 해본 적이 없다. (나는 파이썬을 사용하지 않는 내 고문의 요청으로 그것을하고있다).

이 어떻게 결과가 당신에게 각 격자 점에 대한 p- 값을 제공하는 유사한 크기의 배열을 제공하는 두 개의 2 차원 배열에 F-테스트를 ​​수행 않는 질문?

피할 수없는 부분을 채울 수 있으면이 문제를 해결할 수 있습니다. (그리고 p-value가 맞다는 것을 알려주십시오.) 그러나이 경우에도 복잡하거나 불완전한 도움을 받으려면 그냥 삭제하겠습니다.

답변

0

귀하의 배열에 따라 다릅니다. 단계가 위/아래 배열을 작은 조각으로 분할하기에 충분히 큰 경우 전체 배열이 아닌 24x24의 사각형을 평가할 수 있습니다. 당신은 다른 가늠자를 검사하고 의미가있는 것을 볼 수 있습니다. 문제는이 라인을 따라 뭔가를 시도 구현하려면 :

F = np.zeros((derp.shape[0]-24, derp.shape[1]-24)) 
for a in np.arange(0, F.shape[0]): 
    for b in np.arange(0, F.shape[1]): 
     F[a,b] = np.var(ar1[a:a+24, b:b+24])/np.var(ar2[a:a+24, b:b+24]) 

24x24의 제곱은 더 이상 반드시 이해가되지 않을 수도 1 단계 위의 코드에서 평가되기 때문에 이것은, 비슷한 크기의 출력 (168265) 배열을 얻을 것입니다 .하프 중첩 사각형 작은 stepsizes 더 합리적인 결과를 얻을 것이다 :

F = np.zeros(((derp.shape[0]-24)//12, (derp.shape[1]-24)//12)) 
for a in np.arange(0, F.shape[0]): 
    for b in np.arange(0, F.shape[1]): 
     F[a,b] = np.var(derp[a*12:a*12+24, b*12:b*12+24])/np.var(derp2[a*12:a*12+24, b*12:b*12+24]) 

수율이 (14, 22)를 배열.

+0

답장을 보내 주셔서 감사합니다. 나는 당신의 방법을 시도하고 p = 0, 1 = 0의 배열에 p_value < (> 알파를 할당했다. 그러나 결과 배열에서 내 "중요한"결과는 ar1과 ar2 사이에 큰 차이가있는 영역과 일맥 상통하지 않습니다. 그냥 분명히하기 위해 df1과 df2 = F에 사용 된 치수 크기입니까? – ChristineB