기본 콘텐츠로 건너뛰기

4월, 2022의 게시물 표시

통계관련 함수와 메서드 사전

A B C d E F G H I K L M N O P Q R S T U V W Z A statsmodels.ap.stats.anova_lm(x) statsmodels.formula.api.ols 에 의해 생성되는 모형 즉, 클래스 인스턴스(x)를 인수로 받아 anova를 실행합니다. np.argsort(x, axis=-1, kind=None) 객체 x를 정렬할 경우 각 값에 대응하는 인덱스를 반환합니다. Axis는 기준 축을 지정하기 위한 매개변수로서 정렬의 방향을 조정할 수 있음(-1은 기본값으로 마지막 축) pandas.Series.autocorr(lag=1) lag에 전달한 지연수에 따른 값들 사이의 자기상관을 계산 B scipy.stats.bernoulli(x, p) 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 p: 단일 시행에서의 확률 scipy.stats.binom(x, n, p) 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 n: 총 시행횟수 p: 단일 시행에서의 확률 C scipy.stats.chi2.pdf(x, df, loc=0, scale=1) 카이제곱분포의 확률밀도함수를 계산 $$f(x, k) =\frac{1}{2^{\frac{k}{2}−1}Γ(\frac{k}{2})}x^{k−1}\exp\left(−\frac{x^2}{2}\right)$$ x: 확률변수 df: 자유도 pd.concat(objs, axis=0, join=’outer’, …) 두 개이상의 객체를 결합한 새로운 객체를 반환. objs: Series, DataFrame 객체. Axis=0은 행단위 즉, 열 방향으로 결합, Axis=1은 열단위 즉, 행 방향으

__str__과 __repr__

__str__과 __repr__ __str__ __repr__ __str__과 __repr__ __str__과 __repr__ 다음 클래스 Book1에는 초기값을 전달하는 매직메서드 __init__ 만을 포함하고 있습니다. 이 경우는 클래스 인스턴스 자체는 평가되지 않은 상태로서 다음과 같이 속성을 호출할 경우만 결과를 반환합니다. class Book1: def __init__(self, kind, vol): self.kind=kind self.vol=vol book1=Book1('소설', 300) book1 <__main__.Book1 at 0x7f53400bb790> print(book1) <__main__.Book1 object at 0x7f53400bb790> book1.kind, book1.vol ('소설', 300) __str__ 그러나 매직메소드 __str__ 을 첨가하여 객체의 호출로 문자열을 인쇄할 수 있습니다(print). 매직 메소드인 __str__은 print()함수에 응답 하는 것으로 입력된 문자열을 인쇄되지만 평가되지 않습니다. 즉 return 문으로 결과를 반환하지 않습니다. 그러므로 그 객체의 단순 호출로 반환하는 결과는 없는 상태입니다. 매직메소드 __str__은 문자열을 반환하는 메서드로서 일반 객체에 대한 str() 함수와 같은 내용을 반환합니다. class Book2: def __init__(self, kind, vol): self.kind=kind self.vol=vol def __str__(self): return f'그 책은 {self.kind} 입니다.' book2=Book2('비소설', 500) book2 <__main__.Book2 at 0x7f533155fcd0> p

데코레이터(Decorator, 장식자)

내용 데코레이터 Basic 데코레이터에 의한 함수의 수정 다양한 데코레이터의 적용 데코레이터(Decorator, 장식자) 데코레이터 데코레이터(장식자)는 함수를 수정하지 않은 상태에서 추가기능을 구현할 경우 사용합니다. 즉, 1급 객체인 호출 가능 객체 (callable object)를 영구적으로 수정하지 않고도 그들(함수, 메서드 및 클래스)의 동작을 확장하고 수정할 수 있습니다. 새로 작성하는 개체에 내장된 또는 기존 클래스 또는 함수의 동작을 추가하기 위해 데코레이터를 사용합니다. 이러한 방법의 기반은 함수가 1급객체로서 다음과 같이 작용할 수 있기 때문에 가능합니다. 함수는 객체입니다. 변수에 할당하고 다른 함수에 전달 및 반환할 수 있습니다. 함수는 다른 함수 내부에서 정의할 수 있으며 그 중첩함수(내부함수)는 외부함수의 모든 속성과 변수들을 사용합니다. ( 클로저 ) Basic 데코레이터는 다른 함수를 "장식"(decoration)하거나 "래핑"(wraping)하고 래핑된 함수가 실행되기 전후에 코드를 실행할 수 있도록 합니다. 데코레이터를 사용하면 다른 기능의 동작을 변경하거나 확장할 수 있는 재사용 가능한 블록을 정의할 수 있습니다. 또한 래핑된 함수 자체를 영구적으로 수정하지 않고도 이를 수행할 수 있습니다. 함수의 동작은 장식될 때만 변경됩니다. 기본적으로 데코레이터는 callable을 입력으로 받아 다른 callable을 반환하는 callable개체입니다. 다음 함수에는 다른 함수를 인수로 받는 callable으로 인수로 받는 함수를 수정없이 반환합니다. def nullDeco(func): return func 위 함수에 다른 함수를 인수로 전달합니다. 당연히 전달된 함수가 반환될 것입니다. def greet(): return 'Hello!' nullDeco(greet()) 'Hello!' cal

클로저(Closure)

클로저(Closure) 함수는 일급객체 이므로 다른 함수의 반환값이 될 수 있습니다. 예를 들어 중첩함수 를 포함하는 경우 외부함수 내부에서 중첩함수를 호출하여 실행 시킬 수 있습니다. 다음 함수 first는 중첩함수인 increse()를 포함하고 있는 구조입니다. def first(x): #(1) def increase(y): #(3) return (x+y) #(4) return increase(x) #(2) first(1) 2 함수에서 정의된 변수는 작동영역이 함수 내부로 한정됩니다. 그러므로 위 함수에서 변수 x는 외부함수인 first() 내부이고 변수 y는 중첩함수 increase()의 내부로 한정됩니다. 작동범위가 가장 작은 변수를 지역변수 (local vaiable)라고 하고 그 외 부분에 존재하는 변수를 비지역변수 (non-local variable)라고 합니다. 즉 y는 지역변수 x는 비지역변수가 됩니다. 다음과 같은 위 함수의 동작 과정에 따라 비지역변수와 지역변수의 변화가 발생합니다. first 함수에 인수 x 값 전달 본문에 중첩함수 이외에 다른 코드가 없으므로 직접적으로 return 함수를 실행 : 인수 x=1을 전달하면서 중첩함수 increase() 호출 중첩함수에 전달된 인수 x=1은 지역변수 y값이 됩니다. increase()함수 실행: 비지역변수 x(1)과 지역변수 (1)의 합을 실행 위와 같은 구조의 함수에서 지역변수 y값은 x값에 의존됩니다. 즉, 지역변수 y를 x와는 독립적으로 변경할 수 없습니다. x와 독립적으로 사용하기 위해 다음과 같이 함수의 수정할 수 있습니다. def first1(x): def increase(y): return (x+y) return increase first1(1) <function __main__.first1.<locals>.increase(y)> 함수 first1()

람다함수(Lambda Function)

람다함수(Lambda function) 함수를 작성하기 위해 def 키워드를 사용할 경우 반드시 함수의 이름을 선언해야 합니다. 이에 반해 특정한 이름의 선언 없이 함수를 작성할 수 있습니다. 이러한 함수를 익명함수라고 합니다. 파이썬에서 키워드 람다(lambda)는 익명함수를 정의하기 위해 제공됩니다. 함수 개체가 필요할 때마다 사용할 수 있습니다. 예를 들어, 다음은 덧셈을 수행하는 간단한 람다 함수를 정의하는 방법입니다. add=lambda x, y:x+y add(5, 4) 9 위 익명함수를 def를 사용하여 작성하면 다음과 같습니다. def add1(x, y): return x+y add1(5, 4) 9 익명함수는 def에 의한 함수보다 간결하게 사용할 수 있습니다. 이 간결성은 다음과 같이 다른 객체로 할당 없이 직접적으로 사용할 수 있는 표현식(expression)이라는 점 때문입니다. (lambda x, y:x+y)(5, 4) 9 람다와 일반 함수 정의 사이에는 또 다른 구문상의 차이점이 있습니다. Lambda 함수는 단일 표현식으로 제한됩니다. 이는 람다 함수가 명령문이나 주석이나 return과 같이 반환명령문을 사용할 수 없음을 의미합니다. 그러나 반환명령문을 사용할 수 없음에도 불구하고 람다 함수는 표현식을 평가한 다음 표현식의 결과를 자동으로 반환하므로 항상 암시적 return 문이 있습니다. 이 때문에 단일 표현식인 lambda는 함수로 명명될 수 있는 것입니다. 람다의 가장 빈번한 사용 사례는 대체 키로 iterable을 정렬하기 위한 짧고 간결한 키(key) 함수를 작성하는 것입니다. 예를 들어 sorted(iterable, key, reverse=False) 은 반복가능한 객체(iterable)를 정렬하기 위한 파이썬 내장함수 입니다. 이 함수에서 key는 객체의 적용되는 함수를 지정하는 매개변수로서 lambda 함수를 사용할 수 있습니다. student= [('john', &

고유분해(Eigen-Decomposition)

고유분해(Eigen-Decomposition) 식 1과 같이 행렬 A가 가역 행렬인 P와 대각 행렬 D를 사용하여 유사 변환이 가능하다면 그 행렬은 대각 가능 (Diagonalizable)하다고 합니다. $$\begin{equation}\tag{1}\text{A}=\text{PDP}^{-1}\end{equation}$$ 또한 식 2와 같이 행렬의 고유값(λ 1 , λ 2 )과 고유벡터(<v 11 , v 21 >,<v 12 , v 22 >)들 사이에 다음 관계가 성립합니다. ( 고유값과 고유벡터 참조 ) $$\begin{matrix} \tag{2} \begin{bmatrix} a_{11}&a_{12}\\a_{21}&a_{22} \end{bmatrix}\begin{bmatrix} v_{11}\\v_{21} \end{bmatrix}=\lambda_1 \begin{bmatrix} v_{11}\\v_{21} \end{bmatrix}\\\\ \begin{bmatrix} a_{11}&a_{12}\\a_{21}&a_{22} \end{bmatrix}\begin{bmatrix} v_{12}\\v_{22} \end{bmatrix}=\lambda_2 \begin{bmatrix} v_{12}\\v_{22} \end{bmatrix} \end{matrix}$$ 모든 고유값을 대각요소로하는 고유값행렬 (대각행렬)과 고유벡터를 결합한 고유행렬 은 식 3의 관계가 성립됩니다. $$\begin{equation}\tag{3} \begin{bmatrix} a_{11}&a_{12}\\a_{21}&a_{22}\end{bmatrix}\begin{bmatrix} v_{11}&v_{12}\\v_{21}&v_{22}\end{bmatrix}=\begin{bmatrix} v_{11}&v_{12}\\v_{21}&v_{22}\end{bmatrix}\begin{bmatrix}\lambda_1&0\

Python의 함수는 1급(First Class)객체

내용 함수도 변수에 할당할 수 있는 객체 함수는 데이터 구조내에 저장될 수 있는 객체 다른 함수의 인자로서 함수 중첩함수(Nested function) 다른 함수의 반환값으로 함수(클로저) 객체의 1급객체화(클래스) __call__ Python의 함수는 1급(First Class)객체 1급 객체(First Class Object)는 일반적으로 모든 개체(entity)에서 사용, 수정이 가능한 개체로 다음과 같이 실행될 수 있습니다. 변수에 할당 데이터 구조에 저장 다른 함수의 인자로 전달 다른 함수의 반환값(closer) 수정되고 객체에 할당 가능 함수도 변수에 할당할 수 있는 객체 Python 프로그램의 모든 데이터는 객체 또는 객체 간의 관계로 표현됩니다. 문자열, 목록, 모듈 및 함수와 같은 것은 모두 객체입니다. def hello(name): return f"{name}님 안녕하세요!" hello('홍길동') '홍길동님 안녕하세요!' 위 함수 hello()도 객체이므로 다른 변수에 할당하여 새로운 객체를 생성할 수 있습니다. 이렇게 생성된 새로운 객체 greet와 hello는 같은 객체입니다. greet=hello greet("김영희") '김영희님 안녕하세요!' hello == greet True hello is greet True id(hello), id(greet) (140489754398288, 140489754398288) 위의 함수이름 hello, greet는 함수 개체를 저장하는 변수이름입니다. 다음 코드에서 하나의 함수이름을 삭제한 경우 다른 함수이름으로 여전히 함수가 수행되고 있습니다. 또한 함수의 내부 식별자(dentifier)를 반환하는 매직메소드 __name__ 를 사용하여 greet의 식별자를 확인하면 최초 함수 이름인 h

underscore에 관한 규칙과 special method

내용 유형 Singgle leading underscore double leading underscore 특별메서드(double leading and trailing underscore) single underscore underscores 유형 단일 및 이중 밑줄은 Python 변수 및 메서드 이름에서 의미가 있습니다. 그 의미 중 일부는 단지 관례에 따른 것이며 프로그래머에게 힌트를 주기 위한 것이며 일부는 Python 인터프리터에 의해 시행됩니다. 다음과 같은 종류가 있습니다. single leading underscore: _var 변수 또는 메서드가 내부 사용을 위한 것임을 나타내는 규칙 단일 선행밑줄의 객체를 와일드카드(*)로 호출할 경우를 제외하고 실행상 차이는 없음 single trailing underscore: var_ 후행 밑줄(접미사)은 규칙에 따라 Python 키워드와의 이름 충돌을 피하기 위해 사용됩니다. double leading underscore: __var 작동영역을 한정시킴 double leading and trailing underscore: __var__ python 클래스에 공통적으로 사용되는 내장 메소드를 나타내기 위한 명명 규칙 single underscore:__ 임시 또는 중요하지 않은 변수를 나타낼 경우 사용되는 명명규칙 Single leading underscore 변수 및 메서드 이름과 관련하여 단일 밑줄 접두사는 관례상 의미를 갖는 것으로 프로그램의 동작에는 영향을 미치지 않습니다. 단지 단일 밑줄로 시작하는 변수 또는 메서드가 내부 사용을 위한 것임을 다른 프로그래머에게 알리는 힌트로 사용됩니다. Python은 Java와 같이 "개인" 변수와 "공용" 변수를 크게 구분하지 않기 때문에 실행상 어떤 변화를 나타내지 않습니다. class test:

with 문과 컨텍스트 관리자(Context managers)

context managers와 with statement Python의 with 문은 깨끗하고 읽기 쉬운 Python 코드를 작성하는 데 도움이 될 수 있는 구문입니다. 특성(변수)을 추상화하고 팩토링하여 재사용할 수 있도록 하여 일부 일반적인 리소스(resource) 관리 패턴을 단순화하는 데 도움이 됩니다. 다음 코드의 내장함수인 open(경로/파일명.확장자, 'w') 함수를 사용하여 텍스트 파일을 호출하여 일정한 문구를 쓰기 위한 명령을 with 문을 사용하여 작성한 것입니다. with open('test.txt', 'w') as f: f.write('Hello, World!') with문을 사용하지 않을 경우 동일한 결과를 위한 코드는 다음과 같습니다. f=open('test.txt','w') f.write('Hellow, World!') f.close() 위 코드는 f.write() 함수에 예외가 발생할 경우 f.close()함수는 실행되지 않습니다. 즉 파일이 열린 상태에서 더 이상의 명령은 작동되지 않습니다. 이를 예방하기 위해 try문 을 적용할 수 있습니다. f=open('test.txt', 'w') try: f.write('Hellow, World!') finally: f.close() with 문은 try~finally 문을 포함한 위 코드와 같습니다. 즉 with 구문은 컨텍스트 관리자 (context manager)를 구현하여 고유한 클래스 및 함수에서 동일한 기능을 제공할 수 있습니다. 컨텍스트 관리자는 with 문을 지원하기 위해 객체가 따라야 하는 간단한 프로토콜 또는 인터페이스 입니다. 기본적으로 객체가 컨텍스트 관리자로 작동하도록 하려면 객체에 __enter__ 및 __exit__ 메서드를 추가하기만 하면 됩니다. Python은 리소스 관

객체의 참조(reference)와 이름공간(namespace)

내용 객체의 참조 이름공간(Namespace) 콜렉션 객체의 참조 객체의 참조(reference)와 이름공간(namespace) 객체의 참조 컴퓨터 메모리는 숫자이든 문자이든 모든 입력하는 부분을 2진수 즉, 0과 1로 변환하여 저장합니다. 파이썬은 이렇게 저장된 데이터를 모두 객체로 간주합니다. 파이썬은 객체를 다음의 자료형에 따라 분류합니다. 정수형(int), 실수형(float), 문자형(character), 문자열형(string), 리스트형(list), 튜플형(tuple), 사전형(dictionary) 이 중에 string, list, tuple, dictionary는 1개 이상의 하위객체 (sub object or child object)를 포함하는 콜렉션 객체 (collection object)입니다. 먼저 한개의 하위객체를 가지는 객체에 대해 생각해 봅니다. 이러한 객체들 역시 이름을 가질 수 있습니다. 물론 이름 없는 객체도 생성할 수 있지만 이것은 한번 사용 후 바로 휘발되기 때문에 일반적으로 객체로 명칭하지는 않습니다. 3 3 'f' 'f' 그러므로 일반적으로 객체는 재사용이 가능한 것으로 각 값들에 부여되는 이름을 가집니다. 이러한 이름 (Name)을 즉, 인식자 (idnetifier)라고 합니다. 이렇게 부여된 이름은 그 이름내의 코드들과 연결 (binding)되어 그 이름을 호출할 경우 연결된 코드(객체)들을 참조 합니다. 즉, 사용자가 실질적으로 실행을 위한 코드(들)에 접근할 수 있는 방법입니다. python함수인 다음 id() 를 사용하여 객체의 저장위치를 추적할 수 있습니다. id(x): 메모리상에 객체 x의 위치를 반환 a=10 print(f'a의 저장위치:{id(a)}') a의 저장위치:94793889349376 print(f'10의 저장위치:{id(10)}') 10의 저장위치:94793889349376 객체 a에

자동미분(Autograd)

내용 torch.autograd requires_grad 설정 변화도(Gradient) 계산하기 변화도 추적 멈추기 자동미분(Autograd) torch.autograd 신경망은 설정한 층들을 통과하면서 feature와 label의 관계를 적합하게 설명하는 모델을 구축합니다. 이 과정을 학습(train)이라고 하며 이 학습은 다음과 같이 두 단계로 구성됩니다. $$X \rightarrow \left(\begin{aligned}\color{blue}{W\cdot x+b \rightarrow \hat{y}(\text{forward})}\\\uparrow \qquad\qquad \qquad \downarrow\\\color{red}{\frac{dw}{dx}, \frac{db}{dx}(\text{backward})}\end{aligned} \right)\rightarrow \hat{Y}$$ 위 식에서 W, b는 각각 가중치와 편향입니다. 위의 역전파(backward) 단계서는 순전파(forward)에서 생성된 가중치와 편향에 의한 추정치 $\hat{y}$와 실제값인 label(Y)와의 오차(error)를 계산하고 그 값에 대한 가중치와 편향을 평가(변화도, 미분)하여 그 매개변수(W, b)를 조절합니다. 이 조절을 매개변수의 업데이트(update)라고 하며 그 차이가 최소 또한 변화가 없을 수준까지 이 과정은 반복합니다. 이 과정은 최적화(optimization)라고 하며 그 결과가 최종의 모델이 됩니다. pytorch에서 torch.autograd 는 역전파시 실행되는 미분과정을 담당하는 자동미분엔진입니다. autograd는 데이터(텐서)의 실행된 모든 연산들(연산 결과가 새로운 텐서인 경우도 포함하여)의 기록을 Function 객체로 구성된 방향성 비순환 그래프(DAG; Directed Acyclic Graph)에 저장(keep)합니다. 그림 1과 같이 방향성 비순환 그래프

참고할만한 지수들

내용 발틱운임지수(BDI: Baltic Dry Index) 이마트 지수 참고할만한 지수들 발틱운임지수(BDI: Baltic Dry Index) 석탄, 철광석, 시멘트, 곡물 등 원자재를 싣고 26개 주요해상운송경로를 지나는 선적량 15천 톤 이상 선박의 화물운임과 용선료등을 종합하여 산정하는 지수로, 배들이 원자재를 '얼마나 자주' 돌아다니는 지를 알려주는 지표 운반하는 품목들이 생산의 기초 원재료이므로 이 배들이 활발히 움직인다는것은 원자재에 대한 수요가 높아지고 있다는 것으로 생산이 활발하게 이루어지고 있다는 의미가 된다. 그러므로BDI는 경기선행지표의 역활을 합니다. 원재료 수요가 증가하면 교역량이 증가하고 선박의 운송비용이 올라 BDI가 높아지는데, 그만큼의 물류를 운반할 배가 많이 필요하다는 것으로 해운업과 조선업의 주가는 뛰게 됩니다. 1985년 1월 4일을 기준(1000)으로 그 움직임을 관찰하는데BDI가 높으면 경제가 활발하게 움직이고 낮아지면 반대로 해석이 가능합니다. BDI는 한국관세물류협회(https://www.kcla.kr/web/inc/html/4-1_5.asp)에서 HTML 겁사기로 부터 파싱한 것입니다. import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.dates as mdates import matplotlib.cbook as cbook mpl.rcParams["font.family"]="nanumgothic" mpl.rcParams["font.weight"]="bold" mpl.rcParams["font.size"]=11 data=pd.read_excel("---.xlsx", sheet_name=&qu

선형변환(Linear transformation)

내용 선형변환 변환 영변환과 항등변환 표준기저 특별한 선형변환 동일차원으로 선형변환의 경우 일정각도의 이동 선형변환(Linear transformation) 선형변환 선형변환(Linear transformation, T: U → V)은 어떤 벡터 공간의 U를 다른 벡터 공간 V로 옮기는 함수입니다. 이러한 함수는 식 6.1를 만족해야 합니다. $$\begin{align}\tag{1} &\forall \; \text{u}_1,\; \text{u}_2 \in \text{U} \rightarrow T(\text{u}_1 + \text{u}_2) = T(\text{u}_1)+T(\text{u}_2)\\ &\forall \; \text{u} \in \text{U} \cap α \in \text{C} \rightarrow T(\alpha \text{u}) = \alpha T(\text{u}) \end{align}$$ 위 식에서 U와 C는 각각 벡터와 스칼라입니다. 식 1은 벡터들의 선형결합 의 조건과 같습니다. 즉, 선형결합이 성립되는 벡터들은 선형 변환이 가능하다는 것을 의미합니다. 예)  다음 식이 선형변환인지를 결정합니다. $$\begin{align}&T\left( \begin{bmatrix} x_1\\x_2\\x_3 \end{bmatrix}\right)=\begin{bmatrix} 2x_1+x_3\\-4x_2\end{bmatrix}\\ &A=\begin{bmatrix} 2&0&1\\0&-4&0 \end{bmatrix} \end{align}$$ 정의역의 x 1 , x 2 , x 3 에 대한 위 변환이 성립되면 변환의 결과(T 1 , T 2 )에 대한 행렬방정식은 다음과 같습니다. $$Ax = T \right

심리지수

심리지수 소비자 심리지수(Consumer Sentiment Index) 한국은행에서 실시하는 소비동향조사를 기초로 현재생활형편CSI, 생활형편전망CSI, 가계수입전망CSI, 소비지출전망CSI, 현재경기판단 CSI, 향후경기판단 CSI 등 6개 주요개별지수의 평균값과 표준편차를 이용하여 합성해 만든 종합지수로서 소비자들이 경기상황을 어떻게 받아들이는지를 종합적으로 나타내줍니다. 소비자심리지수는 지수자체의 증감 뿐만 아니라 기준치(100)을 대한 변동이 중요합니다. 100이상이면 앞을 생활형편이나 경기, 수입 등이 좋아질 것으로 보는 사람들이 많다는 의미이고, 미만이면 그 반대를 나타냅니다. 제조업업황실적BSI 경기동향에 대한 기업가들의 판단 및 예측과 계획의 변화 추이를 관찰하여 지수화한 지표로 기업들의 응답결고들에 대한 평균값을 0(매우악화)~200(매우호조)의 범위로 환산. 100이면 전분기 대비 변화없음, 100이상이면 전분기 대비 호전, 작으면 악화를 의미 가계는 소득이 올라가면 소비를 늘릴 것이고 이는 기업실적을 올리는 역할을 할 것입니다. 또한 기업은 실적의 상승은 고용을 증가시킬 것이고 따라서 가계의 소득은 더욱 늘어날 것이다. 바로 경제의 선순환과정이 일어나는 모습입니다. 다음 자료는 한국은행경제통계시스템 에서 취합한 것입니다. import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams["font.family"]="nanumgothic" mpl.rcParams["font.weight"]="bold" mpl.rcParams["font.size"]=11 data=pd.read_excel("경기지수.xlsx", sheet_name="data"

변환(Transform)과 핵 그리고 치역(Kernel and Range)

내용 정의역, 치역과 공역의 관계 가역행렬 변환(Transform)과 핵 그리고 치역(Kernel and Range) 변환은 어떤 수 x를 식에 대입하여 그 값에 대응하는 결과인 y를 반환하는 함수를 의미합니다. 함수에 입력되는 값의 범위와 개수는 항상 결과의 범위나 개수를 확정하지 못합니다. 즉, 함수에 따라 1개의 실수 입력 값은 여러 개의 유리수를 포함하는 값으로 출력될 수도 있습니다. 함수에 입력 범위를 정의역 (domain), 가능한 모든 결과물들의 범위를 공역 (codomain)이라고 합니다. 예로서 python에서는 모든 수를 정수로 만들기 위해 int() 함수를 사용합니다. 이 경우 정의역은 실수이지만 공역은 정수가 될 것입니다. import numpy as np import numpy.linalg as la import sympy as sp import matplotlib.pyplot as plt from matplotlib import rcParams rcParams['font.family'] = 'nanumgothic' rcParams['font.weight'] = 'bold' rcParams['font.size'] = '11' x=3.24 y=int(x) y 3 공역 중 함수의 결과들을 상 (image)이라 하며 이 상들의 집합을 치역 (range)이라고 합니다. 치역은 공역의 부분 집합이 됩니다. 예를 들어 이러한 정의역(x)과 상(치역)의 관계는 변환에 관계된 행렬 A에 의해 식 1과 같이 선형결합의 형태로서 다음과 같이 작성할 수 있습니다. $$A= \begin{bmatrix} -2&-1\\0&-4 \end{bmatrix},\quad \text{x(정의역)}=\begin{bmatrix} -3\\1 \end{bmatrix},\quad \text{

경기종합지수

내용 경기선행지수 동행종합지수 후행종합지수 전년동월비 동행지수 순환변동치 경기종합지수 경기:살림살이의 상태, 즉 경제상황을 의미 전반적인 경기 동향을 쉽게 파악, 예측하고자 주요 경제지표 움직임을 종합해서 지수로 나타낸 것임. CI(Composite index)라고 함 생산·투자·소비·고용·금융·무역 등 결제의 각 부문 지표 중 민감하게 경기에 반영하는 주요 경제지표를 선정하고 이후 이 지표들의 전월 대비 증감률을 가중평균하여 작성함 전월대비 상승은 경기상승, 감소의 경우는 경기하락 지수 값은 기준시점 2005년의 숫자를 100으로 지정하여 환산 1983년 3월 부터 통계청에서 매달 발표 경기선행지수, 경기동행지수, 경기후행지수로 구분 일반적으로 경기선행지수가 상승하면 3~10개월 정도 후에 경기동행지수가 상승하고 실제 경기도 상승 경기선행지수 일반적으로 3~4 달간의 선행지수가 꾸준히 상승한 경우 몇달 후에 경기 상승 예측 가능 구성요소: 재고순환지표(%p), 경제심리지수, 기계류내수출하자수(선박제외), 건설수주액, 수출입물가비율, 코스피, 장단기 금리파 재고순환지표: 기업은 경기의 좋고 나쁨에 효율적으로 대응하고자 재고를 비축하거나 처분하는 과정에서 생산을 조정하기 떄문에 재고수준의 변동은 단기적인 경기 순환을 나타내는 중요한 기표로 인식됩니다. 출하(판매)증가율에서 재고증가율을 뺀 것으로 경기호황일 때는 출하증가율 > 재고증가율, 반대인 경우는 경기불황 경제심리지수: 기업과 소비자 모두를 포함한 민간의 결제상황에 대한 심리를 종합적으로 파악하고 결기판단을 위한 유용한 경제정보로 활용하는 것을 목적으로 합니다. 기업경기실사지수(BSI)와 소비자동향지수(CSI)를 합성하여 작성. 장기평균 100을 중심으로 표준편차가 10이 되도록 작성, 100이상이면 경제심리가 과거보다 좋은 쪽, 반대이