2007-01-01から1年間の記事一覧
"Stratified analysis" "Subgroup analysis" で検索してみた。 HIT数が思ったより少ない。 自分はStatified analysisの方は層別解析、調整した解析として使っている。 Subgroup analysisの方は部分集団それぞれに対して通常の解析や層別解析を行うこと、とし…
OTFフォントを埋め込んだPDFをdvipdfmxで作るためのメモです。 FONTをTeXのディレクトリにコピーする TeXのインストールディレクトリ \share\texmf\fonts\opentype\public\lm \share\texmf-local\fonts\opentype\public\lm などにFONTをコピーする(OTFフォン…
実用性があるのか分からない機能を紹介? progs.sas dm 'log; clear; output; clear'; proc datasets kill; run; option linesize = 130 pagesize = 500; %let execpath = " "; %let Path = " "; %macro setexecpath; %let execpath = %sysfunc(getoption(sy…
リサンプリングとかブートストラップで統計量の分布を作って検定とか推定をするのに使えます。 /* ダミーデータの作成 */ data mult; call streaminit(070605); do y = 0, 1; do i = 1 to 100; x = rand('Normal') + y; output; end; end; run; /* multtest …
StatLib---Applied Statistics algorithms Applied Statistics(JRSS C)に載ったアルゴリズムのソースがみられる。 ほとんどFortran?
2〜20次元関数のAdaptive Quadrature(適応的求積法)ができるパッケージ。 library(adapt) # Example of p - dimensional normal distribution mu <- rbind(c(0, 0, 0)) sigma <- rbind(c(1, 0, 0), c(0, 1, 0), c(0, 0, 1)) pdfnm <- function(z) { 1 / ( (2…
SASグラフを今の自分が出来る限界までいじってみた。 dm 'log; clear; output; clear'; proc datasets lib = work kill; run; options linesize=120 pagesize = 300 mprint; %let execpath = " "; %let Path = " "; %macro setexecpath; %let execpath = %sy…
同じネタで 5 回も引っ張ってしまった。 何はともあれ、シミュレーション用のプログラムができました。 dm 'log; clear; output; clear'; proc datasets kill; run; option linesize = 130 pagesize = 500; %let execpath = " "; %let Path = " "; %macro se…
問題点 血中濃度のデータを想定しているくせに、前の時点よりも濃度が高くなってしまうシミュレーションデータが生成されてしまう 根本的な解決になるかどうかは分からないが、シミュレーションデータを作ってみた。 dm 'log; clear; output; clear'; proc d…
今回は点滴静注投与の場合を解析してみます。 コンパートメントモデルの部分を変更しただけなので、モデル式さえ書ければいろいろな場合を解析できますね。 dm 'log; clear; output; clear'; proc datasets kill; run; option linesize = 130 pagesize = 500…
今回は誤差分布に対数正規分布を仮定したモデルによる解析を行ってみようと思います。依然シミュレーションデータの問題は時間の都合上修正していませんが、アイデアは浮かんだので近いうちに直す予定です。 シミュレーションデータは誤差分布に対数正規分布…
emf ファイルは Power Point 等で、ベクトルデータのオブジェクトに変換することが出来ます。 SAS で描いた emf ファイルのグラフを使って、きれいなベクトルデータの曲線なんかを使いたいときにたまに使っています。 Univariate Procedure を使ってヒストグ…
ノンパラメトリック回帰は面白いなぁ。 SAS の Loess Procedure を使って解析してみたので、ついでに勉強しておきたい。 しかし、大学には教科書が無く、授業で取り扱うことが無かった。 今回は、竹澤邦夫先生のHP [1] を見てなにやらすごいことが分かり、そ…
分散安定化変換は、確率変数 $Y$ の期待値が $\mu$ で分散が $g(\mu)$、つまり $Y$ の分散が期待値の関数であるとし、$h(Y)$ の分散 $\mathrm{Var}\{h(Y)\}$ が漸近的に一定の値になるような変換 $h$ を考える方法です。 分散安定化変換 デルタ法を用いると…
Harvard School of Public Health PROGRAM ON CAUSAL INFERENCE in Epidemiology and Allied Sciences Harvard School of Public HelthのEpidemiologyとCausal InferenceのHP。 Publicationから、Robins先生の論文がかなり沢山ダウンロードできるようになっ…
DM statement dm 'log; clear; output; clear'; 実行するとログ出力と結果出力を消してくれる。 DATASETS procedure proc datasets kill lib = work; quit; libオプションで指定したライブラリのデータセットを消してくれる、グラフカタログとかも消える。 G…
今日は indicator function を導入して、測定濃度限界を考慮したモデルによる解析をしてみよう。 indicator function については文献[1]に書いてあります。 /* パラメータ等の設定 */ %let Dose = 200; %let N = 50; %let MTime = 0, 0.1, 0.15, 0.25, 0.5, …
よく使うgoptionときれいなグラフ出力についてまとめてみます。 Lifetest Procedureを使わずにKaplan-Meierプロットを書きたかったときに作ったプログラム。 /* gplot procedureでKaplan-Meierプロット */ %let stra = d1; %let time = Time; %let Path = C:…
Thunderbird導入時に入れるものメモ Thunderbird-Tray: Thunderbirdをタスクトレイに入れてくれる。アドオンのMinimizeToTrayの方を入れるとなぜか重くなる。 Lightning: カレンダーアドオン。 Provider for Google Calendar: Lightningとセットで入れるとGo…
傾向スコアの推定には、全ての交絡因子によってスコアを推定しなければならないという条件がある。 傾向スコアの推定に全ての交絡因子をつっこんだときに、交絡因子間に多重共線性が生じていても問題ないの?と疑問に思った。 私の近くにいる人に質問したと…
静注の1-コンパートメントモデル。 周辺尤度を求める積分の近似にはラプラス近似を使用、[1]を見ると Adaptive Gaussian quadrature (適応的ガウス求積法) が平均に対するパラメータ推定に関しては誤差が少ないように見える。 分散に対するパラメータの推定…
NLINで非線形モデルの推定をしてみよう。 測定誤差は正規分布を仮定、薬物動態パラメータの自然対数をとったもの推定します。 NLINを使ったのは、Marquardt法を使ってみたかったから。NLMIXEDでやると最尤法。 /* 静注1-コンパートメントモデルの当てはめ */…
面白そう、論文はいつか読む。 参考文献 [1] Larson DA. Analysis of Variance With Just Summary Statistics as Input. American Statistician 1992; 46: 151–152. [2] SAS Customer Support Center. Sample 524: One-way ANOVA on summary data. http://su…
SASの便利機能。 各群の平均、標準偏差、サンプルサイズをデータセットに入れると検定結果が出る。 /* ダミーデータを作る */ data ttest; do group = 1 to 2; do i = 1 to 10; Value = group * 2 + rand('normal'); output; end; end; /* 要約データを用い…
SURVEYSELECT Procedureについて。 いろんな使い道が考えられるが、複雑なサンプリングもできちゃう。 使いそうなのは、ケース・コントロール研究のマッチングとかかな。 単純にリサンプリングを使ったり、ブートストラップを使ったP値を求めるだけならMULTT…
NLMIXED Procedureで一般化線型モデルの最尤推定を行ってみよう。 今回はロジスティック回帰分析。 説明変数xのオッズ比が大体2になるようにダミーデータを発生させ、NLMIXED Procedureでロジスティック回帰分析を行うプログラムを以下に示した。 data dummy…
最近使わなくなってしまったNLMIXED Procedureについて少しだけ書いてみようと思う。 尤度 (対数尤度) を明示的に書けて、ヘンテコなモデル (部分的に変量効果が欠けていたり…) を想定しない場合には簡単に最尤推定して、$H_0: \theta_i = 0$ (パラメータ $\…
SAS Excel一括変換するマクロ (2) 昔(2006年頃)作ったマクロを改良してみました。 SASファイルがあるディレクトリ内のSASデータセットを一括でExcelファイルへと変換するマクロです。 SASファイルの実行パスを取得する方法がSAS Faqに掲載されていたので参考…
ファイル名を桁を揃えた連番にして、複数のグラフをファイル出力をする。 1.xxx, 11.xxx, 111.xxx, 2.xxxみたいな感じにファイル名ソートされるのが気に食わなかったので作った。 %macro graph_plot(data, num); %do i = 1 %to &num; goptions reset = a…