본문 바로가기

정리/데이터 분석

[R] prediction from a rank-deficient fit may be misleading , 다중 공선성 (Multicollinearity) 선형분석 1. prediction from a rank-deficient fit may be misleading 오류 Model 을 만들고 그 모델로 prediction 을 수행할 때 "prediction from a rank-deficient fit may be misleading" 와 같은 warning 메시지가 나올 때가 있다. 이 이유는 바로 다중공선성과 관련이 있습니다. 2. 선형 회귀 모델에서 발생하는 다중공선성 다중 공선성은 회귀 모델에서 독립 변수들 간에 강한 선형 관계가 있는 경우 발생합니다. Multicollinearity = multi + col + linearity : 선형성이 서로 발생하는데 여러개의 변수에서 발생한다라고 보면 되겠습니다. 즉, 하나의 독립 변수가 다른 독립 변수들과 상관성..
[R] Reshape package 를 이용한 melt, cast 안녕하세요. 이번에는 Reshape Package 를 이용해서 melt, cast를 적용하는 예시를 보여주려고 한다. [목차] 1. melt 함수 사용법 2. cast 함수 사용법 [내용] 1. melt 함수 사용법 먼저 예시를 보겠습니다. # 데이터 프레임 생성 data
[R, Python] Selenium 크롤링 (사이트 정보 긁어오기) 금융데이터, 블로그 글, 뉴스기사 등등 우리는 많은 정보를 웹사이트를 통해서 접합니다. 이를 전산화하고 DB를 적재하면서 데이터 분석이 가능해지는데요. 이를 위해 사이트 크롤링을 하는 방법을 작성하겠습니다. [목차] 1. Selenium 패키지 2. 사이트 정보 입력 방법 3. R 크롤링 (사이트 정보 긁어오기) 4 Python 크롤링 (사이트 정보 긁어오기) 5. 주의사항 1. Selenium 패키지 Selenium 패키지는 웹 사이트를 테스트하고 자동화하는데 사용하는 패키지입니다. 많은 방법중에 왜 Selenium 이냐? 물을 수 있습니다. 그 첫번째 이유는 바로 웹브라우저를 동작시켜서 직접 실제 시뮬레이션하기 때문입니다. 실제 동작하는 화면을 보면서 실수도 확인 할 수 있고 특히 동적으로 변화되는 ..
[R, Python] 클립보드 사용법 R과 Python 에서 Clipboard를 활용하는 방법에 대해서 알아보겠습니다. [목차] 1. DataFrame R to Clipboard , Clipboard to Python 복사하기 2. Chrome Clipboard to R , Python 3. R과 Python 사이에 데이터 공유 1. DataFrame R to Clipboard , Clipboard to Python 복사하기 R에서 DataFrame 데이터를 clipboard로 복사하고 이를 Python의 DataFrame으로 입력하려면 몇 가지 단계를 거쳐야 합니다. 다음은 R과 Python을 연결하여 이 작업을 수행하는 방법입니다. 이런 경우는 별도의 파일로 데이터 공유하지 않고 메모리 상으로만 데이터를 공유한 셈이 되는 겁니다. 먼저 ..
[R] 비트코인 볼린져 밴드, 존버 Back Test [R] 비트코인 볼린져밴드 및 존버 벡테스트 결과 해석 lareale 10/27/2019 0.1 Back Test 결과 1 Back Test 결과 해석 1.1 실수 1.1.1 불명확한 정의 1.1.2 로직 개발 실수 1.1.3 검증 생략 실수 1.2 해석 1.2.1 분석 기간 2018-01-01 ~ 2019-10-27 1.2.2 BbandsAsset (볼린져 밴드 n=25 sd=3) 1.2.3 Zone Beo (존버한 결과) 1.2.4 Combination (잡탕 매매) 1.2.5 종합 0.1 Back Test 결과 그림 1 Back Test 결과 해석 결과 해석도 좋지만 이 개발 과정에서 다시 저를 돌아보게 됐습니다. 많은 실수를 거쳤는데 몇 가지를 간략히 소개하려합니다. 저도 나중에 돌아볼겸요. 1...
[R] 비트코인의 변동성을 분석해보자 [R] 비트코인의 변동성을 분석해보자 1 시작 2 변동성 보조 지표 2.1 ATR 보조 지표 2.2 볼린져 밴드 2.3 Moving Window Standard Deviation 3 변동성 주요 포인트 3.1 기준 3.2 Window 3.3 stationarity (정상성) 1 시작 비트코인 분석 방법은 여러 방법이 있다. 그 중에보조지표를 활용하는 방법을 제외하고 일반적인 방법은 변동성을 이용한 분석이 아닐까 한다. 우선 변동성을 볼 수 있는 보조지표엔 뭐가 있는지 알아보자. 2 변동성 보조 지표 2.1 ATR 보조 지표 https://www.investopedia.com/terms/a/atr.asp TR 과 ATR 위의 3가지 경우 중 차이가 가장 큰 값을 TR 이라고 한다. 즉, 가장 변동이 큰 값..
[R] 비트코인 트랜드 제거하기 [R] Bitcoin Trend 제거하기 1 시작 2 비트코인 그래프(11/02 ~ 11/03) 3 비트코인 그래프와 선형 트랜드 plot 결합 4 남은 과제 1 시작 과거 금융공학자들은 금융 상품에서 트랜드를 제거하여 변동성을 분석했다고 한다. 이에 비트코인 그래프도 Trend를 찾고 이를 제거하는 과정을 정리하려한다. 2 비트코인 그래프(11/02 ~ 11/03) 먼저 일정 시간의 비트코인 그래프를 그려보자. source(paste0(getwd(),'/../../bitcoin/config/formarkdown_config.R')) ## ## Attaching package: 'zoo' ## The following objects are masked from 'package:base': ## ## as..
[R] R과 C연동 (Rcpp 패키지 사용. R 속도 개선.) R과 C연동 (Rcpp 패키지 사용. R 속도 개선.) [R] R과 C 연동(Rcpp 사용) 1 시작 2 C연동 방법 3 가지. (rcpp 사용 이유) 3 Rcpp 사용법 4 Rcpp활용한 loop 속도 비교 5 세줄 요약 1 시작 이번에는 R과 C의 연동을 보여드리려 합니다. 이 과정이 관심이 생겼던 이유는 R의 연산 속도 문제 때문이었고요. 해당 방법으로 얼마나 속도를 개선할 수 있을 지 모르겠지만 우선 소개를 해드립니다. 2 C연동 방법 3 가지. (rcpp 사용 이유) 크게 세가지 방법이 있다고 합니다. (1) .C 함수 [특징] 1. 간단하지만 제한적으로 사용 가능. 2. R 메모리 상에서 연산을 하기 때문에 object 는 포인터 연산자로 다뤄줘야 한다고 합니다. .Call 함수 [특징] 헤더..
[R] R 초보도 할 수 있는 Selenium을 이용한 크롤링 R 초보도 할 수 있는 Selenium을 이용한 크롤링 R 초보도 할 수 있는 Selenium을 이용한 크롤링 1 R Selenium 2 사용 코드 3 도커 설치 & Selenium 설치 4 내가 원하는 데이터 그리고 그 위치 알아오기 5 정리 6 마치며 1 R Selenium Selenium 은 automates browsers 입니다. R Selenium 은 결국 R 에서 사용하는 R Selenium입니다. 그런데 왜 셀레니움을 쓰나? 정확도가 가장높습니다. 다른 방식은 때로는 화면을 크롤링하지 못하는 경우도 있습니다. 이에 셀레니움은 이런 문제가 없습니다. 2 사용 코드 library(RSelenium) remDr > Copy xpath 하면 해당하는 Value를 가져올 수 있는 경로를 알려줍니다...
[R] 극값 Local Maximum(Minimum) Point With R 극값 Local Maximum(Minimum) Point With R 극값 Local Maximum(Minimum) Point With R R 을 이용한 변곡점, 극값을 찾아보면 몇몇 잘못된 포스팅이 보입니다. 국내나 국외 모두요. 이를 정리하고자 본 포스팅을 계획했습니다. 본 포스팅은 다음의 정보를 담고 있습니다. [1] 변곡점, 극값의 정의 [2] R에서 극값 찾기, ggplot2으로 극값 그리기 이를 위해 bitcoin 데이터를 활용하겠습니다. [1] 변곡점, 극값의 정의 변곡점과 극값의 정의는 여기서 확인이 가능합니다. 변곡점 : https://en.wikipedia.org/wiki/Inflection_point 극값 : https://en.wikipedia.org/wiki/Maxima_and_m..
[R] Bitcoin 데이터로 Envelope 와 Bollinger Band 그리기 (ggplot2) Bitcoin Analysis with R(Envelope & Bollinger) Bitcoin Analysis with R(Envelope & Bollinger) 본 포스팅에는 다음의 정보를 담고 있습니다. [1] Bitcoin openPrice에 대한 ggplot 그래프 그리기. (x축 lab 회전, character에서 시간으로 데이터 타입 변환) [2] Envelope 그리기 (설명, 그림) [3] Bollinger Band 그리기 (설명, 그림) [4] Bitcoin Volumn Envelope 와 Bolliger Band 그리기. 이번엔 R을 이용하여 envelope indicator 와 Bollinger Band 를 다루는 것을 보여드리겠습니다. 원천 데이터는 WON/BTC 값이며 기본 그래..
[R] ggplot2 그래프 겹치기. ggplot2-2plot ggplot2- 그래프 겹치기 본 포스팅에서는 ggplot2를 이용해 2개의 plot을 겹쳐 그리려 합니다. 아래와 같이 데이터 생성 및 변환을 위해 library를 추가해 줍니다. 설명을 덧붙이자면 dplyr 은 %>% chaining operation을 위해 추가했습니다. reshape 는 melt, cast 함수로 데이터 변환을 편하게 하기 위해 추가했습니다. changepoint 는 cpt.mean cpt.var 등의 함수로 통계적인 change point 를 선별해 냅니다. 단 한개만 찾을 수도 있고 최대 개수를 지정할 수 있습니다. TTR은 Moving Standard Deviation 을 간단히 계산해줄 수 있는 runSD 함수를 포함하고 있습니다. ggplot2는 ..