nØthing specia¡
Posts
129 posts분할선형회귀(Segmented Linear Regression)
회귀분석은 데이터 분석을 위한 고전적인 수학적 방법중 하나인데, 교과서와 많은 문헌에서 꼭 나오는 것이다. 선형회귀분석은 주어진 데이터에 대한 최적의 근사를 제공한다. 데이터의 값은 선형근사값과 통계적으로 난수로서 노이즈(noise)의 합계라고 볼 수 있다. 선형회귀는 수 많은 사업과 과학에서 사용된다. 선형회귀가 인기있는 이유중 하나는 예측이다. 눈에 띄는 아웃라이어(outlier)는 일종의 특이점으로 볼 수 있다. 그리고 절편과 기울기로 추세를 표현할 수 있는 간단함도 하나의 장점이기도 한다. 그러나 노이즈가 많으면 부정확할 수 있다. 그래서 한계를 벗어나기 위한 것중 하나가 Segmented Linear Regression(분할선형회귀)이다. 머리 아프게 공부하면서 분할선형회귀를 이해하는 것
DDE라는 고인물을 아직도 쓰네~
DDE 라는 물건은 증권사 HTS를 사용하다 보면 만나는 건데, 상당히 오래된 기술이다. 하지만 간편히 실시간 데이터를 받을 수 있는 방법이라 아직도 애용한다. 중간에 RTD라는 DDE 대체물이 생기긴 했는 데, 어찌 된 일인지 외국에 비해 한국에서는 이것을 잘 사용하지 않는다. 예전 포스팅에서 DDE를 이용하여 실시간 데이터를 쌓는 방법(간단한 DDE 프로그래밍, DDE 클라이언트를 다시 만들어 보다)을 소개한 적이 있는데, 이번에 소개하는 방법은 조금 더 완성된 방법(기본적인 건 같지만) 이기도 하다. 이전의 포스팅, "DDE 클라이언트를 다시 만들어 보다"에서 하나의 종목이 아닌 여러 종목개의 종목의 실시간 데이터를 쌓는 방법을 보였는 데, 당시 아쉬운 점중 하나는 커버할 종목 갯수만큼
하나 건너 또는 둘 건너 루프 돌기
For~Next 루프를 배울 때 흥미롭운 것중 하나는 Step이다. For counter [ As datatype ] = start To end [ Step step ] [ statements ] [ Continue For ] [ statements ] [ Exit For ] [ statements ] Next [ counter ] 기본적으로 1씩 증가하면서 루프를 돌지만, For index As Integer = 1 To 5 Debug.Write(index.ToString & " ") Next Debug.WriteLine("") ' Output: 1 2 3 4 5 Step 을 사용하면 주어진 값만큼 건너 뛰면서 루프를 돌게 된다. Step 2
다운로드후 폴더를 만들고 그안에 압축풀기
분석을 하는 도구로는 주피터 노트북이 가장 애용하는 도구인데, 다음은 압축된 분석 데이터를 다운로드하고 폴더를 만들고 그 안에 압축을 풀어 놓은 예이다.import os import tarfile import urllib.request DOWNLOAD_ROOT = "https://raw.githubusercontent.com/ageron/handson-ml2/master/" HOUSING_PATH = os.path.join("datasets", "housing") HOUSING_URL = DOWNLOAD_ROOT + "datasets/housing/housing.tgz" def fetch_housing_data(housing_url=HOUSING_URL, housing_path=HOUSIN
루프를 없애는 또 하나의 잡설
워크시트에 테이블 형태의 자료를 만드는 경우 , 미리 컬럼명을 만들어둔 템플릿 시트를 사용할 수 있는데, 때론 컬럼명을 동적으로 만들어 생성하는 경우도 있다. 컬럼명을 VBA코드로 출력하는 경우 , 각각의 셀 마다 컬럼명을 일일이 찍어줄 수도 있고, 코드가 너무 많아 스마트하게 배열에 미리 넣어두고 루프를 돌려 출력하기도 한다. 다음은 루프를 사용하지 않고 셀 범위에 여러 개의 값을 출력하는 예인데, 하나의 값을 출력하는 경우, VBA배열을 사용하는 경우, 엑셀 배열리터럴을 사용하는 경우, 두 배열을 혼합하고, 워크시트 함수 TODAY(), NOW()를 사용하는 경우를 보여준다.' ' Resize로 셀 영역을 확장하고 값을 출력 Dim myStr As String myStr = "


