기본 콘텐츠로 건너뛰기

라벨이 factor인 게시물 표시

[matplotlib]quiver()함수

[data analysis] 분산분석 (Analysis of variance)의 개요

분산분석 (Analysis of variance)의 개요 관련된 내용 분산분석의 개요 일원분산분석(one-way ANOVA) 사후분석(Post-hoc test) 이원분산분석(two-way ANOVA) 두 개이상 여러 집단의 비교는 각 그룹의 분포를 비교하는 것과 같습니다. 분포의 비교는 평균이나 분산 등을 기준으로 평가할 수 있습니다. z 검정 또는 t 검정이 평균을 비교 대상으로 한 것과 같이 그 대상을 각 분포의 분산으로 지정할 수 있습니다. 이 경우 사용하는 방법론을 분산 분석(ANOVA) 이라고 합니다. 예를 들어 두 개 이상의 집단에서 각 집단내의 변동과 집단간 변동을 비교하여 모든 집단의 평균이 동일하다는 귀무가설을 검정하는 통계방법입니다. 두 개 집단의 가설검정을 위해 정규분포 또는 t 분포를 적용하였지만 그 이상의 집단을 비교하기 위해서는 집단 간의 변동성의 정도를 비교하는 F분포 를 사용합니다. 분산분석을 위한 자료는 비교 대상이 되는 명목변수인 요인변수 (factor, 설명변수) 와 각 요인에 따른 값들 즉, 반응변수(respond variable, 종속변수) 로 구성됩니다. 각 요인은 몇 개의 소집단으로 분류될 수 있으며 이 소집단의 요인들을 처리 (treatment, 요인수준) 라고 합니다. 요인 수준에 대응하는 반응변수가 한 개인 경우의 분석을 일원분산분석 (one-way anova) 라고 하며 여러 개인 경우를 다변량분산분석 (manova) 라고 합니다. 표 1은 한개의 요인에 따른 분리된 실험군에 대한 두 개의 처리효과를 포함합니다. 이 경우 각 처리에 대한 관측치 수는 같으므로 균형 설계(balanced design) 라고 하며 표본 크기가 설계의 셀 전체에서 같지 않으면 불균형 설계(unbalanced design) 라고 합니다. 표 1 그룹 간 일원 분산 분석 treatment(factor) group1 group2 s1 s6 s2 s7 s3 s8 s4 s9 s5 s10 ...

R 분산분석(ANOVA)의 개요

내용 용어 Fitting ANOVA aov() anova_test() 분산분석의 개요 요인(명목 또는 순서변수)이 설명 변수로 포함될 때 분석의 중심은 예측에서 각 그룹 차이에 대한 결정으로 이동하며 이 경우 사용하는 방법론을 분산 분석(ANOVA) 이라고 합니다. ANOVA 방법론은 다양한 실험 및 준실험 설계를 분석하는 데 사용됩니다. 용어 일반적으로 실험 설계, 특히 분산 분석에는 고유하게 사용되는 용어가 있습니다. 그룹화 변수는 요인(factor) 이라고도 합니다. 요인에 포함된 범주(그룹)를 수준(level) 또는 그룹 이라고 합니다. 수준 수는 요인에 따라 다를 수 있습니다. 요인의 수준 조합을 셀 이라고 합니다.다음 데이터로부터 용어들을 알아봅니다. 자료는 불안을 치료하기 위한 treatment내에 두 가지 수준(CBT, EMDR)이 있는 그룹 또는 레벨(level) 간 요인입니다. 환자가 하나의 그룹에만 할당되기 때문에 그룹 간 요인(between-groups)이라고 합니다. CBT와 EMDR을 모두 받은 환자는 없습니다. 다음 표의 s 문자는 주제(환자)를 나타내며 그 환자로 부터의 값이 반응변수이고 치료의 수준은 독립변수입니다. 각 처리 조건에 동일한 수의 관측치가 있으므로 균형 설계(balanced design) 가 있습니다. 표본 크기가 설계의 셀 전체에서 같지 않으면 불균형 설계(unbalanced design) 가 있는 것입니다. One-way between-groups ANOVA Treatment CBT EMDR s1 s6 s2 s7 s3 s8 s4 s9 s5 s10 위 표의 통계적 설계는 두개의 수준으로 구성된 요인 1개가 존재합니다. 즉, 분류 변수가 1개이므로 일원 분산 분석(one-way ANOVA) 이라고 합니다. 특히, 그룹 간 일원 분산 분석 입니다. ANOVA 설계의 효과는 주로 F 테스트 를 통해 평가됩니다. 치료...

R apply, lapply, sapply 그리고 tapply함수

Applying functions 자료에서 원자별, 그룹별로 함수등을 적용할 경우 apply 계열의 함수를 사용합니다. 예를 들어 행렬, 배열, 데이터 프레임의 지정된 차원에 함수를 적용하거나 리스트의 각 인덱스별로 함수등을 적용할 경우 control 문을 대신하여 사용합니다. 이 계열의 함수들의 기본 목적은 같지만 입력과 출력의 데이터 형태에서 차이를 보입니다. apply(x, margin, Fun, ...) margin: 차원인덱스, Fun: 적용할 함수 입력: array, dataframe, 출력: vector, list, array lapply(x, Fun, ...) 입력: list, vector, dataframe, 출력: list sapply(x, Fun, ...) 입력: list, vector, dataframe, 출력: vector, array lapply()와 동일하지만 벡터나 배열을 출력 tapply(x, index, Fun, ...) index: factor를 포함한 list 입력: list, vector, factor, dataframe, 출력: vector, array set.seed(10) da one two three four case 1 0.507 0.275 0.114 0.399 case 2 0.307 0.272 0.596 0.836 행기준의 평균 apply(da, 1, mean) case 1 case 2 case 3 case 4 case 5 case 6 0.32375 0.50275 0.56650 0.54175 0.39100 0.35325 열기준의 평균 apply(da, 2, mean) one two three four 0.3740000 0.4688333 0.3021667 0.6410000 열기준으로 최대와 최소 20%를 절삭하는 trim mean을 계산합니다. apply(da, 2, mean, trim=0.2)...

R factor(요인)

Factor 변수는 명목형(nominal), 순서형(ordinal) 또는 연속형(continumous)으로 설명할 수 있습니다. 명목 변수는 암시적 순서 없이 범주형입니다. 당뇨병(Type1, Type2)은 명목 변수의 예입니다. 데이터에서 Type1이 1로 코딩되고 Type2가 2로 코딩되더라도 순서를 의미하지 않습니다. 순서 변수는 순서를 의미하지만 양은 의미하지 않습니다. 상태(나쁨, 개선됨, 우수함)는 각각의 순서를 지정할 수 있지만 그 순서간의 차이는 명확하지 않습니다. 연속 변수는 특정 범위 내에서 임의의 값을 취할 수 있으며 순서와 양이 모두 암시됩니다. 연령(년)은 연속 변수이며 14.5 또는 22.8 및 그 사이의 값들을 사용할 수 있습니다. 15세인 사람이 14세인 사람보다 한 살 많다는 것을 알고 있습니다. R의 범주형 및 순서형 변수를 요인(factor)이라고 합니다. 요인은 데이터를 시각적으로 분석하고 표시하는 방법을 결정하기 때문에 R에서 중요하며 R의 factor() 함수는 범주형(순서형을 포함) 값을 [1... k] 범위의 정수 벡터로 저장하고(여기서 k는 명목 변수의 고유값 수) 문자열의 내부 벡터(원래 값) 이 정수에 매핑됩니다. 다음 벡터 diabetes는 두 개의 범주로 목록화 할 수 있습니다. 이렇게 데이터의 고유값들을 수준(level)이라고 합니다. factor()함수는 벡터의 값들과 level을 함께 반환합니다. diabetes [1] type1 type2 type1 type1 Levels: type1 type2 순서형 변수의 경우 인자 ordered=TRUE 를 첨가하여 각 목록의 순서를 지정합니다. 이 경우 순서는 기본적으로 알파벳 순으로 지정됩니다. 예를 들어 다음의 경우 excellent=1, improved=2, poor=3으로 순서가 지정됩니다. status [1] poor improved excellent poor Levels: excellent 많은 경우 default인 알파벳 정...

[sympy] Sympy객체의 표현을 위한 함수들

Sympy객체의 표현을 위한 함수들 General simplify(x): 식 x(sympy 객체)를 간단히 정리 합니다. import numpy as np from sympy import * x=symbols("x") a=sin(x)**2+cos(x)**2 a $\sin^{2}{\left(x \right)} + \cos^{2}{\left(x \right)}$ simplify(a) 1 simplify(b) $\frac{x^{3} + x^{2} - x - 1}{x^{2} + 2 x + 1}$ simplify(b) x - 1 c=gamma(x)/gamma(x-2) c $\frac{\Gamma\left(x\right)}{\Gamma\left(x - 2\right)}$ simplify(c) $\displaystyle \left(x - 2\right) \left(x - 1\right)$ 위의 예들 중 객체 c의 감마함수(gamma(x))는 확률분포 등 여러 부분에서 사용되는 표현식으로 다음과 같이 정의 됩니다. 감마함수는 음이 아닌 정수를 제외한 모든 수에서 정의됩니다. 식 1과 같이 자연수에서 감마함수는 factorial(!), 부동소수(양의 실수)인 경우 적분을 적용하여 계산합니다. $$\tag{식 1}\Gamma(n) =\begin{cases}(n-1)!& n:\text{자연수}\\\int^\infty_0x^{n-1}e^{-x}\,dx& n:\text{부동소수}\end{cases}$$ x=symbols('x') gamma(x).subs(x,4) $\displaystyle 6$ factorial 계산은 math.factorial() 함수를 사용할 수 있습니다. import math math.factorial(3) 6 a=gamma(x).subs(x,4.5) a.evalf(3) 11.6 simpilfy() 함수의 알고리즘은 식에서 공통사항을 찾아 정리하...