반응형

분류 전체보기 342

[인과추론] 그래프 인과모델

그래프 인과모델그래프 인과모델은 인과추론 문제를 구조화하며 식별과정을 명쾌하고 시각적으로 표현해줌구조적 인과모델(Structural causal model, SCM) : 그래프(DAG)와 인과방정식(Causal equation)으로 구성됨. 인과관계 시각화이전 포스팅에서 사용했었던 어떤 이메일이 전환을 많이 일으키는지를 예시로 사용.측정하지 않는 변수를 그래프에 추가할 수 있음, 이 변수는 관측되지 않으니 U로 표시EX) 고객소득, 사회적배경, 나이 등 -> 이를 모두 묶어서 U로 표시무작위로 배정되거나 개입된 변수를 표현할 때는 들어오는 화살표를 모두 제거하면됨중요한 것은 DAG에서 가장 중요한 정보는 그래프안에 없을 수 있다는 것.한 변수에서 다른 변수로 연결되는 엣지가 없다는 것은 두 변수 사이에 ..

[인과추론] A/B Test 설계와 결과 검증

A/B Test 설계와 결과 검증해당 포스팅은 A/B Test를 설계할 때 주의점과, A/B Test를 검증하는 방법에 대해 소개합니다.  A/B Test 설계 RCT(Randomized control trial) 검정력(Power of the test)표본크기 계산  A/B Test 검증추정값의 표준오차신뢰구간 (confidence interval) 가설검정 무작위 배정으로 독립성 확보잠재적 결과가 처치와 독립인 경우에 연관관계와 인과관계가 동일해짐하지만 처치와 결과 사이의 독립성을 의미하는 것이 아님. 처치와 결과가 독립적이면 처치는 결과에 영향을 끼치지 못함.만약 새로운 기능을 처치로 사용시간이 결과라면 새로운 기능과 사용시간이 독립이라면 실험군/대조군 상관없이 새로운기능은 결과에 아무 영향이 없..

[인과추론] 인과추론의 기본개념

인과추론의 기본개념이 포스팅은 인과추론을 이해하는데 필요한 중요한 개념들에 대해 정리하였습니다. 아래 내용은 인과추론을 공부할 때 꼭 알아야할 개념들입니다.해당 포스팅은 아래 내용을 다룹니다처치와 결과인과모델개입개별처치효과잠재적결과SUTVA인과추정량편향독립성가정랜덤화와 식별 연관관계와 인과관계연관관계(상관관계)는 인과관계를 의미하지 않음인과관계를 분석하기 위해서는 문제를 구체화해야함EX) 할인이 매출에 도움되는가 X ->크리스마스이전에  어린이 장난감을 할인하면 판매량이 증가할 것인가?분석단위 : 일반적으로 개입(처치)하려는 대상. 분석단위는 대부분 사람이나 가끔 회사 등 다를 수 있음처치와 결과Ti는 실험대상 i의 처치여부를 나타냄처치(Treatment) : 구하려는 효과에 대한 개입. EX) 가격할인..

[SQL] 부정 논리 연산자(not in 등) 과 Null의 관계

실무에서 SQL쿼리를 사용하다 보면 Where 조건에 in과 not in 조건을 많이 사용할 텐데, not in(부정 논리 연산자)을 사용할때 주의하여야 한다. 그 이유는 NULL 때문이다.부정연산자부정 논리 연산자의 경우 위 표처럼 같지 않은 경우를 필터링할 때 사용하는 연산자이다.주로 not in이나 '', '!=' 등을 많이 사용한다. 부정 연산자와 Null의 관계결론부터 말하자면 부정 연산자를 사용하면 Null값이 모두 누락되게 된다.예시를 확인해보자 (샘플데이터 쿼리는 포스팅 최하단에 있음)SELECT * FROM orders WHERE 1=1 AND product_id not in (101,102)원래 의도는 product_id가 101,102인 것만 제외하고 조회하고 싶..

SQL & DB/PostgreSQL 2024.07.08

[PostgreSQL] Json(Jsonb) 컬럼 Query 방법 (->, ->>과 json_array_elements)

이번 포스팅에서는 PostgreSQL에서 Json(Jsonb)로 이루어진 컬럼을 Query 하는 방법을 알아봅니다. Json과 Jsonb의 차이Json의 특징입력된 텍스트의 원본을 그대로 저장 Json은 데이터를 불러올때 입력된 텍스트를 파싱해야하기 때문에 시간이 오래 걸림원본을 그대로 저장하기에 의미없는 공백등을 저장Json 객체 내의 key 순서가 보장되며, 중복된 key가 있는 경우도 중복되어 저장Jsonb의 특징Jsonb는 분해된 바이너리 형식으로 저장 (데이터를 정제하여 저장)Jsonb는 파싱할 필요가 없기 때문에 시간이 적게 걸림공백을 저장하지 않음객체들의 key순서를 보장하지 않으며, key를 중복해서 저장하지 않음. 입력에 중복된 key가 지정된 경우 마지막 값으로 대체객체들의 key순서를..

SQL & DB/PostgreSQL 2024.07.07

[PostgreSQL] generate_series을 활용한 날짜/시간 더미 데이터 생성 (월단위, 일단위, 시간단위)

날짜/시간 더미 데이터 생성이번 포스팅에서는 postgresql에서 generate_series 함수를 활용하여 날짜 및 시간 더미 데이터를 생성하는 방법을 알아봅니다.generate_seriesgenerate_series (start,stop[,step])일련의 숫자를 생성하는 함수. 시작과 끝, 증가 단계를 설정할 수 있음start : 시작 값입니다.stop : 시리즈의 끝값.step : 각 연속 숫자 사이의 증분 값. 선택 사항이며, 기본값은 1예시)SELECT generate_series(1, 10) as cnt 월 단위 데이터 더미 생성 (year-month)2024년 1월부터 12월까지의 더미 데이터 생성"generate_series(0,11)"을 활용하여 0부터 11까지 sequence를 생..

SQL & DB/PostgreSQL 2024.06.30

[인과추론] A/B Test 설계 시 실험군 간의 누출 및 간섭

A/B Test 설계 시 실험군 간의 누출 및 간섭이번 포스팅에서는 A/B Test 설계를 할 때 실험군 간 간섭이 되는 경우와 이를 해결하는 방법을 알아봅니다.A/B Test 분석의 가정 : SUTVASUTVA : Stable Unit Treatment Value AssumptionA/B Test의 내적타당성을 지키기 위한 가정 중 하나 (생존 편향, SRM 등 3장 참고)각 그룹의 unit의 행동은 다른 그룹의 unit에 영향을 받지 않음 (독립)만약 안방의 스위치를 눌렀는데 불이켜지고, 다른 방에 영향을 주지 않는다면 이는 독립이라고 할 수 있음하지만 안방의 스위치를 눌렀는데, 다른 방에 불이 켜치거나, 두꺼비집이 내려가 불이 안켜진다면 독립이라고 할 수 없음SUTVA 가정을 위반한 경우 : 간섭(..

[Machine Learning][머신러닝] XGBoost의 개념과 예제 코드

XGBoost(Extra Gradient Boost)XGBoost란Gradient Boost 알고리즘을 기반으로 개선해서 나온 모델.캐글 경진대회에서 상위에 입상한 데이터 과학자들이 사용한 것을 알려저 유명해짐.Gradient Boost의 단점인 느린수행시간을 해결하고 과적합을 제어할 수 있는 규제를 제공하여 성능을 높임.두가지 개발 방법Scikit-learn  XGBoost 모듈 사용파이썬 XGBoost 모듈 사용XGBoost의 장점높은 성능 (실제로 Kaggle에서 XGboost가 상위권을 다수 차지)효율성, 유연성 ,휴대성이 뛰어남여러 파라미터를 조절해 가며 최적의 Model을 만들 수 있음과적합 방지신경망에 비해 시각화가 쉽고, 직관적임자원이 많으면 더 빠르게 학습시킬 수 있음Cross Valid..

Data Analysis & ML 2024.05.16

[Machine Learning][머신러닝] 릿지/라쏘/엘라스틱넷 (정규화 회귀분석)

릿지/라쏘/엘라스틱넷 (정규화 회귀분석) 모델링을 하다보면 과적합될때가 많은데 이때 과적합을 막는 방법은 모델에 규제를 가하는 것이다. 보통 선형회귀 모델링에서는 모델의 가중치를 제한함으로써 규제를 하는데, 이번 포스팅에서는 모델의 가중치를 제한하는 회귀분석인 릿지, 라쏘, 엘라스틱넷에 대해 알아본다.  정규화 방법론Regularized Method, Penalized Method, Contrained Least Squares선형회귀 계수(Weight)에 대한 제약 조건을 추가함으로써 모형이 과도하게 최적화되는 현상, 즉 과최적화를 막는 방법과최적화는 계수 크기를 과도하게 증가하는 경향이 있기에, 정규화 방법에서의 제약 조건은 일반적으로 계수의 크기를 제한하는 방법규제 (Regularization)선형..

Data Analysis & ML 2024.05.15

[Hadoop/Spark] YARN의 구성요소와 작동방식

YARN세부 리소스 관리가 가능한 범용 컴퓨팅 프레임웍각 Application (MapReduce, HBase 등) 실행에 필요한 Resource(Cpu, Memory, Disk)를 할당하고 모니터링MapReduce의 단점을 극복하기 위해 하둡 2.0부터 제공CF) MapReduce란 : https://ysyblog.tistory.com/347 [Hadoop] 맵리듀스(MapReduce) Programming맵리듀스 프로그래밍 특징 큰 데이터를 처리할 수 있는데에 목표 데이터 셋의 포맷도 하나로 단순화하였고, 변경 불가 데이터 셋의 포멧은 Key, Value의 집합이며 변경 불가(immutable) 데이터 조작은ysyblog.tistory.com YARN의 구성요소ClusterJob 수행을 위해 여러 대..

반응형