주축량(Pivotal Quantity)과 지수분포에서 모수의 신뢰구간 - 시뮬레이션
·
Statistics/Mathmetical Statistics
지난 포스팅 "주축량과 지수분포에서 모수의 신뢰구간-이론"(https://moogie.tistory.com/150)에서$X_1, X_2, \ldots, X_n \sim Exp(\theta)$인 경우 MLE와 주축량을 이용해 구한 $\theta$의 신뢰구간은 다음과 같았습니다. 1. MLE를 이용한 경우$$[\hat{\theta}-z_{\alpha/2}\frac{\hat{\theta}}{\sqrt{n}}, \hat{\theta}+z_{\alpha/2}\frac{\hat{\theta}}{\sqrt{n}}]$$2. Pivotal Quantity를 이용한 경우$$[\frac{2\sum X_i}{\chi^2_{\alpha/2}(2n)}, \frac{2\sum X_i}{\chi^2_{1-\alpha/2}(2n)}]..
[R] 사용자 정의 함수 관련 잡기술
·
Data Science/Manipulation
1. match.call간혹 함수를 짜다보면 입력한 인수를 사용했는지 확인이 필요 할 때가 있습니다.예를 들어, 데이터 프레임에서 특정 열의 Five-Number Summary($\min$, $q_1$, $m$, $q_3$, $\max$)를 해당 데이터 프레임의 이름과 함께 출력하는 함수를 아래와 같이 작성해보았습니다.fivenum_col 결과는 에러가 발생하는데요!왜냐하면, df를 출력하면 iris의 데이터프레임을 출력하기 때문에 문자열 출력 함수와 호환되지 않기 때문입니다.이런 에러를 방지하기 위해서 match.call 함수를 사용하는데 인자와 입력된 글자를 호출하는 함수입니다.fivenum_col 2. 익명함수(anonymous functions)파이썬의 람다 함수처럼 익명 함수를 지원합니다...
[Tidy Modeling With R] 14. Iterative Search with XGBoost
·
Data Science/Modeling
0. 개요챕터 12에서부터 다루고 있는 하이퍼파라미터는 일반적인 파라미터와 다르게 학습데이터에서 직접적으로 추정할 수 없습니다. 챕터 13에서는 그리드서치(Grid Search)라는 방법을 통해 사전에 지정해놓은 여러개의 후보들을 평가하는 내용을 다루었습니다.챕터 14에서는 Iterative Search이라는 방법을 소개하는데, 현재 주어진 하이퍼파라미터의 값들을 통해 스스로 성능이 좋을 것으로 기대되는 하이퍼파라미터 값을 예측하고 평가하는 방식으로 최적의 값을 찾아냅니다.  14 Iterative Search | Tidy Modeling with RThe tidymodels framework is a collection of R packages for modeling and machine learnin..
[Tidy Modeling with R] 12. 하이퍼파라미터 튜닝
·
Data Science/Modeling
예측을 하기 위해 모델을 사용하는 경우 모델에 존재하는 파라미터는 예측하기 전에 추정되어야 합니다. OLS 회귀모델의 회귀계수처럼 일부 파라미터는 Training set을 통해 직접 추정될 수 있습니다. 하지만 튜닝파라미터(Tuning parameter)나 하이퍼파라미터(Hyper-Parameter)는 모델을 적합하기 전에 미리 명시가 되어있어야 하므로 Training set을 통해 직접 추정될 수 없습니다. 예측이나 추론에 중요한 영향을 끼치지만 훈련데이터로부터 직접 추정될 수 없기 때문에 기존 방식과는 다르게 접근해야 합니다. 챕터 12에서는 튜닝파라미터의 예시를 제공하고 tidymodels 함수가 어떻게 튜닝 파라미터를 다루는지 보여주며 챕터 13에서는 그리드서치(Grid Search), 챕터 14..
[Tidy Modeling with R] 10. Resampling
·
Data Science/Modeling
Chapter 10에서 모델의 성과를 평가하기 위한 방법으로 재표본기법(Resampling)에 대해 소개합니다.이전까지 많은 챕터에서 강조하고 있지만 Testing set은 여러 모델 중에서 선택된 최종 모델의 성능을 평가하기 때문에, 이전에 모델을 학습시킬 때는 어떠한 방식으로도 사용되어서는 안됩니다. 또한 단일 모델을 사용하더라도 하이퍼파라미터(Hyper Parameter)를 조정하거나, 여러 모델이 있는 경우 성능을 비교하기 위해서 Testing set을 사용하더라도 문제가 생깁니다. 따라서 이를 해결하기 위해 Resampling을 적용해 새로운 데이터와 유사한 성과를 추정하여야 합니다.  10 Resampling for Evaluating Performance | Tidy Modeling with..
[Tidy Modeling with R] 6. Model Fitting with parsnip
·
Data Science/Modeling
이번 포스팅에서는 parsnip 패키지를 이용한 모델 구축에 대해 알아보겠습니다.parsnip 패키지는 타이디(=일관성 있고)하고 통합된 모델 구축의 인터페이스를 제공합니다.  1. 모델 생성 및 학습 (Creating Model and Training)일단 데이터가 모델링에 사용할 수 있게 인코딩이 된다면, 모델링 적합을 위해 사용할 수 있습니다.첫 모델로 선형 회귀에 대해 생각해봅시다. 선형회귀에서는 종속변수가 정량적인 수치로 구성되어 있고, 독립변수의 효과는 아래와 같이 회귀식의 회귀계수(기울기)와 절편으로 표현할 수 있습니다.$$y_i = \beta_0 +\beta_1*x_1 + \beta_2*x_2 + \dots + \beta_p*x_p$$회귀계수를 추정하기 위해서 다양한 방법들이 있는데요. 대..
[Tidy Modeling with R] 5. 데이터 분할
·
Data Science/Modeling
모델을 구축하는 과정에는 파라미터 추정, 모델 선택, 하이퍼파라미터 튜닝, 성능 평가 등 여러 단계가 포함됩니다.사용할 수 있는 데이터의 양은 유한하다는 점입니다. 『Tidy Modeling with R』 에서는 이를 Data Budget(데이터 예산)이라는 개념으로 설명합니다.한정된 데이터를 여러 단계에서 반복적으로 사용하게 되면, 모델의 성능이 제대로 나오지 않을 위험이 커지게 됩니다.예를 들어, 모델 학습에 사용한 데이터를 그대로 평가에 사용한다면 실제보다 훨씬 좋아 보이는 성능이 측정될 수 있습니다.이는 시험 문제를 미리 알고 푸는 것과 유사하며, 정보 누수(data leakage)의 대표적인 사례입니다.이번 블로그에서는 이러한 문제를 방지하기 위한 데이터 분할(data splitting)을 살펴..
[Data Science With R] 9. 정규표현식(Regular Expression) with Stringr (202406)
·
Data Science/Manipulation
1. 문자열 기초문자열 생성 : 따옴표(', ") 사이에 문자열을 포함하여 생성문자열의 원시(출력) 형태 확인 : writeLines, stringr::str_view원시 문자열(raw string) 생성 : r"(string)", r"{string}", r"[string]"와 같이 사용 2. 문자열 처리 함수 * 요약 : str_length(문자열길이), str_c(문자열결합), str_glue(파이썬 F-string 유사 함수), str_sub(각 문자열 서브셋팅), str_sort(order, rank, 문자열 정렬 및 순서), str_subset(서브셋), str_which(패턴에 맞는 문자열 위치), str_split(문자열 분리), str_replace_na(NA를 "NA"로 변환), str_..