SAS provides many built-in routines for data analysis. A previous article discusses polychoric correlation, which is a measure of association between two ordinal variables. In SAS, you can use PROC FREQ or PROC CORR to estimate the polychoric correlation, its standard error, and confidence intervals. Although SAS provides a built-in
Uncategorized
클라우드 기반 AI 분석 플랫폼인 SAS Viya 4에는 여러 가지 유용한 기능이 있습니다. 이번 글에서는 SAS Viya 4를 위한 Logging & Monitoring 기능에 대해 소개 드리겠습니다. 1. Logging & Monitoring 이란 무엇인가? Logging과 Monitoring은 해석 그대로, 해당 서비스에 대한 로그 기록과 상태를 시각적으로 표시해주는 것을 의미합니다. 기존 SAS Viya
Correlation is a statistic that measures the association between two variables. When two variables are positively correlated, low values of one variable tend to be associated with low values of the other variable. Medium values and high values are similarly associated. For negative correlation, the association is flipped: low values
はじめに 因果推論コラム・シリーズでは潜在アウトカムモデルに基づく因果推論の解説を行なっています。今回のテーマは操作変数法(instrmental variable methods)です。 ある介入AがアウトカムYに及ぼす平均因果効果を推定する手法の1つに操作変数法があります。この手法は、操作変数と呼ばれる変数を利用することで交絡因子を調整することなく平均因果効果を推定する手法です。分野や状況によって交絡因子の特定や測定は困難であることは多く、それらの調整を行う必要がないという点で操作変数法は魅力的な手法です。ただ一方で、共変量調整に基づく因果効果の推定手法では必要とされない仮定が要求されますので、その点ご注意ください。ある変数が操作変数であるための条件は以下の3つです。各条件の詳細や実際にどのような変数が操作変数として提案されているか、操作変数と介入変数の相関が弱い場合に発生する問題については前回のコラムをご参照ください。 ZはAと関連する ZはYに対してAを介した以外の効果を持たない ZとYは共通原因を持たない 一般的な誤解として、操作変数法では操作変数が存在さえしていれば平均因果効果の推定が可能であるという認識があります。厳密には、操作変数が存在している場合に操作変数法によって推定可能なのはboundsと呼ばれる平均因果効果が含まれる幅であり、平均因果効果を推定するためには後述する仮定のいずれかが成立している必要があります。また、操作変数に関する3条件に加えて第4の条件としてどちらの仮定を置くかによっても、どのような集団における平均因果効果が推定可能であるかが異なります。本コラムではboundsと呼ばれる因果効果の部分識別について紹介した後、平均因果効果の識別に必要となるhomogeneity、およびmonotonicityについて紹介をします。なお、boundsは信頼区間とは異なる概念であることにご注意ください。 Bounds:因果効果の部分識別 このセクションでは本コラムシリーズの参考書籍である『Causal Inference: What If』の具体例を一部改変し、boundsについて簡単に紹介していきます。 「集団全員にある介入を行なった場合、行わなかった場合と比較して加法的なスケールで平均的にどの程度効果があるか」を示す平均因果効果E[Ya=1]-E[Ya=0]は、二値アウトカムに関してはPr[Ya=1=1]-Pr[Ya=0=1]と表すことが可能です。ここで、このPr[Ya=1=1]-Pr[Ya=0=1]のとりうる値の下限と上限を考えてみると、集団の潜在アウトカムに関して無情報である場合(データが何も存在しない場合)には、当然のことですが、下限は-1、上限は1です。 Pr[Ya=1=1]-Pr[Ya=0=1]=-1(下限) Pr[Ya=1=1]=0:介入を受ける場合の潜在アウトカムはすべての被験者に関して0 Pr[Ya=0=1]=1:介入を受けない場合の潜在アウトカムはすべての被験者に関して1 Pr[Ya=1=1]-Pr[Ya=0=1]=1(上限) Pr[Ya=1=1]=1:介入を受ける場合の潜在アウトカムはすべての被験者に関して1 Pr[Ya=0=1]=0:介入を受けない場合の潜在アウトカムはすべての被験者に関して1 すなわち、二値アウトカムに対する無条件での平均因果効果が含まれる幅(bounds)は[−1,1]です。例えば、集団が20名で構成されているとすると、下限と上限になる潜在アウトカムの状況は下図の通りです。 ここで集団(の一部)に関して実際にデータが得られた時、一致性の下でboundsはより狭く考えることが出来ます。これは、データとして一部の被験者らの潜在アウトカムYa=1, Ya=0の情報が得られるため、未知の部分に対して最も極端な場合の値を代入することによって下図のように下限と上限を計算することが出来ます。 なお、アウトカムが二値変数ではなく連続変数である場合にboundsを計算するためには、アウトカムが取り得る最小値と最大値を指定し、二値変数の場合と同様に代入する必要があります。また余談ですが、boundは前回のコラムで紹介した集団レベルでの除外制約 (condition (ii)) とmarginal exchangeability (condition (iii)) が成立する操作変数Zが存在する場合にはboundsをより狭く考えることが可能です。この場合のboundsはnatural boundsと呼ばれ、その幅はPr[A=1|Z=0]+Pr[A=0|Z=1] となり、データのみから識別されるものよりも狭くなります(Robins 1989, Manski 1990)。加えて、marginal exchangeabilityではなくjoint exchangeabilityが成立する場合には、さらに狭い幅となるsharp boundsを識別することが可能です。さらに追加の仮定を置くことでより狭いboundsが計算することができることも示されています(Richardson, Evans and Robins 2011)。しかし、上記のようなboundsは、一般には因果効果として用いる指標のnull value(e.g., E[Ya=1-Ya=0] であれば0)を含むかなり広い幅となり、有用でないことの方が一般的です。 第4の仮定:homogeneity(同質性)
산업별 당면 문제 해결과 맞춤형 첨단 서비스 제공에 AI 활용도 증가 AI 관련 신규 일자리 창출과 직원 업무 성과 지원, 기업 의사 결정에 긍정적인 영향 줄 것 AI는 이제 더 이상 미래 공상 과학 이야기가 아닌 우리 삶 속의 현실이 되어 버렸습니다. 앞으로 AI 기술은 어떤 모습으로 변화, 발전할
많은 사람들이 AI의 엄청난 잠재력에 대해 듣고 있으며 AI의 활용에 대해 높은 관심을 가지고 있습니다. 하지만, 최근 들어 AI에 대한 부정적 보도들이 많아지고 있으며, AI를 통한 의사결정에 대한 우려도 커지고 있습니다. AI를 도입하고자 하는 조직의 입장에서는 잘못된 AI의 적용으로 회사의 이름이 뉴스 헤드라인을 장식하는 것을 원하지 않습니다. 또한 차별이나 불공정한
In Nederland leggen we sterk de nadruk op lezen en schrijven in het onderwijs, maar waarom zouden we niet hetzelfde doen voor technologie? Kennis van analytics en AI zou net zo verplicht moeten zijn als wiskunde. Data literacy, het vermogen om informatie uit data te begrijpen en te gebruiken, wordt
Do you make time for rest? I thought I did until I started penciling myself into my own calendar! Many of us live for the weekend believing that we’ll wake up and have time for self-care and rest. For many years, I found myself waking up on Saturdays and launching
These are a few of my favorite things. —Maria in The Sound of Music For my annual Christmas-themed post, I decided to forgo fractal Christmas trees and animated greeting cards and instead present a compilation of some of my favorite data visualization tips for advanced SAS users. Hopefully, this
국내 2,200개 상장사 포함 전세계 42,000개 상장기업에 대한 리스크 정보 제공 기업 부도 확률, 거시지표 민감도, 신용 등급, 채권 등급 등 분석 정보 포함 신청 기업에게 심사 과정 거쳐 30일 무료 체험 기회 제공 SAS코리아는 지난 10월 19일 국내 금융 및 투자사 임직원들을 모시고 급변하는 경제 환경에서 기업의 리스크
A previous article discussed how to compute probabilities for the bivariate standard normal distribution. The standard bivariate normal distribution with correlation ρ is denoted BVN(0,ρ). For any point (x,y), you can use the PROBBNRM function in SAS to compute the probability that the random variables (X,Y) ~ BVN(0,ρ) is observed
Some organizations need advanced analytics that is customized, configured and managed off-site. That’s where the SAS-managed offerings come in. Ever wondered what it takes to get a SAS managed application services (MAS) project implemented and supported continuously? That’s where Jenny Welsh comes in. She’s the Senior Director of Cloud Customer Experience. Jenny and her teams
This article shows how to use SAS to compute the probabilities for two correlated normal variables. Specifically, this article shows how to compute the probabilities for rectangular regions in the plane. A second article discusses the computation over infinite regions such as quadrants. If (X,Y) are random variables that are
SAS, 권위 있는 Chartis RiskTech 100®에서 2위 기록 새롭게 선보인 ‘행동 모델링’ 및 ‘금융기관을 위한 인공지능’ 포함 7개 부문 수상 AI 및 분석 부문 선두기업 SAS가 리스크 기술 공급업체 상위 100대 기업을 평가하여 순위를 발표하는 Chartis RiskTech 100(차티스 리스크텍 100)에서 종합 2위를 차지하는 동시에, 7개 주요 부문에서 수상하는 쾌거를 거두었습니다.
The collinearity problem is to determine whether three points in the plane lie along a straight line. You can solve this problem by using middle-school algebra. An algebraic solution requires three steps. First, name the points: p, q, and r. Second, find the parametric equation for the line that passes
이번 글에서는 SAS의 Job Execution에 대해서 알아보려고 합니다. 개념과 접속방법, 실행방법, 편집방법을 예제를 활용해 간단히 알아보겠습니다. 1. Job Execution 소개 SAS Job Execution Web Application은 작업을 생성, 관리 및 실행하는 데 사용되는 웹 기반 클라이언트입니다. Java로 작성된 이 애플리케이션은 서버에서 실행되는 강력한 분석 및 프리젠테이션 프로시저와 함께 데이터에 대한 액세스를
SAS Visual Analytics(이하, VA)의 보다 효과적인 활용을 위해 파라미터의 개념과 용도를 소개해 드린 데에 이어, 이번에는 파라미터의 활용법에 대해 설명드리고자 합니다. 1. 설정 상황 SASHELP의 CARS라는 데이터를 기반으로 상황을 가정해 보겠습니다. CARS 데이터는 총 428개의 관측값과 15개의 변수를 가지고 있습니다. 이 중 Make, Model 등 5개의 범주형 변수를 제외하면 Invoice,
As we have changed the clocks to let the morning light shine a little earlier, we now have more darkness in the evening which, in my opinion, is better for the circadian rhythm. Our ancestors, when no electricity existed, rose with the sun and retired by the moon. In today’s
After a significant loss in high school, I was invited to join our school counselor’s student grief group. One day the counselor gave us each a mix-tape CD. As I listened, each song made me cry, in a really good way. This was my introduction to music as a compliment
Plot rates, not counts. This maxim is often stated by data visualization experts, but often ignored by practitioners. You might also hear the related phrases "plot proportions" or "plot percentages," which mean the same thing but expresses the idea alliteratively. An example in a previous article about avoiding alphabetical ordering
Can we use Computer Vision (CV) to recognize the identity of over 500 Galapagos sea turtles by using just an image? This was the question asked of SAS by researchers at the Galapagos Science Center (GSC), a joint partnership between the University of North Carolina at Chapel Hill’s (UNC) Center for
Converting a program from one language to another can be a challenge. Even if the languages share many features, there is often syntax that is valid in one language that is not valid in another. Recently, a SAS programmer was converting a program from R to SAS IML. He reached
Howard Wainer, who used to write the "Visual Revelations" column in Chance magazine, often reminded his readers that "we are almost never interested in seeing Alabama first" (2005, Graphic Discovery, p. 72). His comment is a reminder that when we plot data for a large number of categories (states, countries,
はじめに 因果効果の推定手法の1つである傾向スコアマッチング、およびSASでの実装方法について紹介します。傾向スコアマッチングのSASでの実装にあたっては、本記事ではSAS/STAT 14.2(SAS 9.4)で追加されましたPSMATCHプロシジャを使用します。因果推論の基本的な枠組みや傾向スコア・傾向スコアマッチングの統計的理論については、詳しく解説を行いませんので、そちらに関心がある方は書籍等を参考にしていただければ幸いです。 理想的なランダム化比較試験においては、ランダム化により治療群と対照群間で測定・未測定の交絡因子(confounders)の分布が期待的に等しくなるため、単純な群間比較によって治療(介入、曝露)の興味のあるアウトカムに対する効果を評価することが可能です。しかし、ランダム化が行われなかった実験研究や観察研究のデータから因果関係を見出そうとする場合には、一般に交絡(confounding)と呼ばれるという問題が生じます。これは簡単に述べると、治療群と対照群で集団の特性が異なることで2つの集団が比較可能ではない状況、治療群と対照群でのアウトカムの違いが治療だけではなく集団の特性の違いにも依存する状況を意味しています。つまり、ランダム化が行われなかった実験研究や観察研究のデータから因果効果を推定する際には、交絡を十分に制御した上で群間比較を行う必要があり、世間一般で因果効果の推定手法と呼ばれるものは、交絡を調整方法する方法だと認識していただいてよいかと思います。因果効果の推定手法は回帰や層別化、標準化など様々なものがありますが、本記事ではマッチング法に注目します。マッチング法は、治療群と対照群から類似した特徴を持つ被験者をペアとし(マッチングさせ)、マッチした対象集団において治療を受けた群と受けなかった群を比較するという方法です。 ただ、一言にマッチング法と言っても複数の交絡因子(共変量)の情報をそのまま用いる「共変量マッチング」と、共変量の情報を傾向スコアという一次元の情報に落とし込んだ上でマッチングを行う「傾向スコアマッチング」という2つの方法に大きく分かれます。初学者にとっては前者の方がより直感的な方法かと思いますが、共変量が高次元である場合や変数のカテゴリ数が多い場合にはその実施が困難になります。そのような場合にしばしば用いられるのが後者の傾向スコアマッチングです。マッチングには、治療群と対照群の構成比率やマッチング方法など様々なオプションがありますが、傾向スコアの分布が同じ(治療群と対照群が交換可能)であるmatched populationを作成するというのが共通の考え方です。また、傾向スコアマッチングの実施手順は連続である単一の共変量を用いた共変量マッチングと同様であり、大きくは以下のような手順となります。 【傾向スコアマッチング法のステップ】 共変量の特定、測定 傾向スコアのモデル指定、傾向スコアの推定 マッチングアルゴリズムの決定、マッチングの実施 マッチングした対象者で構成された集団(matched population)における治療群と対照群での交絡因子の分布評価 4.で評価した共変量が不均衡である場合には2.に戻る 群間比較の実施 推定結果の解釈 記法と仮定 記法 以下の記法の下で傾向スコアマッチングに関する議論を行います。アルファベットの大文字は確率変数を、小文字はその実数値を意味するものとします。なお、以降でボ-ルド体としている場合は単一の変数ではなくベクトルであることを意味しているものとします。 A:二値の治療変数 Y:観察されるアウトカム Ya:潜在アウトカム X:共変量(一般にはベクトル) 仮定 本記事では以下の識別可能条件を仮定します。理想的なランダム化比較試験においては研究デザインによってその成立が認められますが、観察研究ではあくまで”仮定”となります。つまり、その成立を認めることが妥当であるかどうかの議論が別途必要となることにご注意ください。また、各条件の詳細や意図する内容については本記事では取り扱いませんので、他の記事や書籍等をご参照ください。 【識別可能条件 (Identifiability assumptions) 】 一致性 (consistency) If Ai = a, then YiA = Yia = Yi 特にAが二値であるとき、 Yi = AYia=1 + (1-A) Yia=0 条件付き交換可能性 (conditional
Inspiring discussions with Carla Harris and fellow executives in the heart of NYC. In October, leaders from SAS and other organizations in life sciences, health care, and health care-focused finance participated in a transformative leadership event. This experience left a lasting impression. The event was the kickoff of SAS’ first
By definition, managed services require a high degree of trust. After all, you’re paying someone else to manage your business applications and, in many cases, your data. To help establish that trust, we want to introduce you to our managed services team – and have them answer some of your
Sometimes it is helpful to display a table of statistics directly on a graph. A simple example is displaying the number of observations and the mean or median on a histogram. In SAS, the term inset is used to describe a table that is displayed on a graph. This article
SAS Visual Anaytics(이하, VA)를 사용할 때, 리포트의 형태를 고정하고 변수만 변경하면서 그래프 및 값들이 바뀌는 결과를 확인할 수 있으면 더 효율적이지 않을까 생각해 본 적이 있으신가요? VA에서 파라미터를 활용하면 가능합니다. 파라미터의 활용법을 다루기 전에 전반적인 이해를 돕고자 파라미터가 무엇인지, 어떻게 사용하는 것인지 등에 대한 내용을 먼저 살펴보고자 합니다. 이번 블로그
本記事では、ZEAL - Analysis and Projections of the Japanese Economyについて、チームメンバーに直接お話を聞き、背後にある思いやチャレンジなどについて解き明かします。 SAS Hackathon 2023 参加の背景 SIerであるZEALには、データアナリスト・データサイエンティストといったロールで働く社員は現状まだ多くはない。しかし今後はそういった人材を増やし、データ活用の世界に進出していくという目標を掲げている。 SAS Hackathon開催の知らせを受け取ったとき進むべき道が定まった。部内でプレゼンを行い、SASの取り扱い経験を問わず、興味を持った社員でチームZEALを結成した。 それがハッカソン開催の約1年前でした。そして半年前頃からテーマを何にするかチーム内で議論してきました。 SDGsをキーワードに、カーボンフットプリントを可視化することでCO2排出量を減らす事に貢献する、であったり、今後人類が必ず直面する喫緊の課題で身近な問題でもあり必ず解決する必要がある問題でもある食料問題に取り組む、など様々な案が出た。 最終的に定まったテーマは、「不確実性を消し去ることで、新型コロナのようなアウトブレイクに対して飲食業界が効果的な対策を立案できるよう支援すること」になった。当初は有価証券報告書による企業業績の変動をコロナ前とコロナ後で比べていく方針だったが、データ数が少なかったため断念せざるを得なかった。そこで、ある程度データ数が確保できる家計の支出データを使うことにした。 やはり当初から食料問題に取り組むという案が出ていたことと、コロナのようなパンデミックの影響が強く出た分野であったため、飲食業界を選択しました。家計の外食支出の変動から、間接的に飲食業界の隆盛を予測する、というものです。 コロナによる影響の強弱について念のため全産業分野を網羅的に確認した。ここでSAS Viyaの機能が役に立った。コロナの影響が特に大きかった産業分野は、飲食、交通(航空)、教育・娯楽だった。中でも交通(航空)は飲食業以上に影響が大きかった。しかし交通(航空)はテーマには選ばなかった。食糧問題に取り組むという基本方針があったからだ。 SAS Viyaは統計的知識がそこまで無くても十分に扱え、確実に結果を出すことができました。これはZEALが得意とする、「可視化によるインサイトの引き出し」というアプローチにもとてもフィットしていました。操作性も他のBIツールと比べて特段難しいというわけではなかったので問題はありませんでした。 ハッカソンに取り組む上で直面したチャレンジ 当初使用を想定していた有価証券報告書データのデータ数が時系列予測をするうえで足りないということが途中で判明したため、そこから別のデータを探し出す作業に急遽取り組む必要があった。3,4日で新しいデータが見つかった。 この部分はテーマ選定の際にも問題になりましたが、テーマはいろいろ考えられたとしても、それに必要なデータソースを集められなければ実際には分析を進めることができません。使えるデータの種類によって、取り組めるテーマが決まる、という側面がありました。 幸いZEALのサービスに、CO-ODEという日本の政府・自治体が出しているオープンデータを集積したデータベースがあり、そこに分野別家計支出データがあったので使うことにした。 具体的な取り組み内容 2つの時系列予測モデル 時系列予測モデルを2つ用意し、2つのモデルの予測値の差分をパンデミックの影響度合いとして可視化した。 つまりは、2019年12月末までをパンデミック前期間、2020年1月以降をパンデミック後期間とし、パンデミック前期間のデータで訓練したモデルをパンデミック前モデル、パンデミック後期間のデータで訓練したモデルをパンデミック後モデルとし、両者同じ将来期間のデータに対して予測をさせたうえで、その予測値の差分を取りました。 パンデミック前モデルとパンデミック後モデルの作成はいずれもSAS Viya Visual Forecastで複数のモデルを作成し、その中から精度が最も良いもの(=チャンピオンモデル)を選ぶという方法を採用した。いずれもチャンピオンモデルは、季節性モデルが選ばれた。 この辺り大変な作業のように聞こえますが、全てSAS Viya Visual Forecastによって自動処理されるのでとても簡単でした。 データの加工・整形で一工夫 必要なデータは全てCO-ODEから得ることができたが、データの加工・整形に多少の工数が必要だった。 CO-ODEの最大の売りは網羅性で、様々なソースからデータを手当たり次第かき集めてきています。使い方は使う人によって千差万別、逆に言うと使い方によってはひと手間かける必要があります。今回特に問題になったのは、時間粒度の違いでした。 データソースによって四半期粒度のもの、日次粒度のもの、と様々だったが、最終的に、月次粒度で統一した。四半期粒度のものは内挿によって月次粒度に変換した。 そこは少し試行錯誤が必要でした。一方データのETLに関しては、CO-ODEからはCSVがそのまま取り出せるので、それをそのままViyaにアップロードするだけで済みました。 成果 パンデミックによる影響を、予測値の差として可視化することに成功した。これは将来また別のパンデミックが起きたときにも参考値として利用できるものだ。 また、直接的な成果というわけではないのですが、ハッカソンを通して普段関わりのない社員同士が初めて関わりを持つようになり、社内のコミュニケーションが活性化しました。これは思わぬ収穫でした。 展望
In several previous articles, I've shown how to use SAS to fit models to data by using maximum likelihood estimation (MLE). However, I have not previously shown how to obtain standard errors for the estimates. This article combines two previous articles to show how to obtain MLE estimates and the