5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

統計ソフトSTATAの部屋 Ver.2

1 :ごろ:2010/09/10(金) 10:54:10
統計ソフト STATAを使って統計解析をするスレです。
日本語の良いソースが少ないので盛り上げましょう。

前スレが順調に!?88まで行ったんですが、落ちてしまったので再開です。


2 :ごろ:2010/09/10(金) 11:22:57
前スレで役に立ちそうな内容をまとめておきます。
*リンク集
http://www.ats.ucla.edu/stat/stata/
http://www.stata.com/help.cgi?search
http://www.stata.com/support/statalist/faq

*メーリングリスト
statalist@hsphsun2.harvard.edu

*ブログ
http://homepage.seesaa.net/category/386689-1.html
http://www.kagitaku.com/
http://statamemo.jugem.jp/
http://d.hatena.ne.jp/sdmt/20061106/1162633144
http://keijisaito.info/arc/stata/japanese_stata.htm Stata日本語化?

*mixi
http://mixi.jp/view_community.pl?id=699582

*PDFなど
http://sitemaker.umich.edu/masahiko.aida/files/outlier.pdf #stataで外れ値の扱い
http://www.stata.com/statalist/archive/2007-06/msg00272.html
http://park1.wakwak.com/~mt_tosiyuki/stata-manual.pdf 日本語PDF

3 :ごろ:2010/09/13(月) 23:42:18
前スレのまとめをブログにしようと思っているところ。
出来たらリンク貼ります。
前作ったWikiサイトはサーバーが閉じてしまった。

あと、前スレは88でなくて123で終わっていた。どうでもいいけど。

4 :132人目の素数さん:2010/09/17(金) 20:45:14
知ってるかい?
このソフトを

5 :ごろ:2010/09/18(土) 01:30:52
>>4
確かにマイナーなソフトで日本では知名度は低いですが、この業界では有名だと思います。


6 :ごろ:2010/09/22(水) 15:52:29
ちょっと、子供が産まれてバタバタしている。
落ちないように保守。

7 :132人目の素数さん:2010/09/23(木) 02:53:58
age

8 :ごろ:2010/09/28(火) 03:04:47
無事、母子ともに退院しました。
そろそろ、何か有益な情報を書き込めたらといいなぁと思います。

9 :ごろ:2010/09/29(水) 16:49:54
何か書き込もうと思いましたが、ネタがなかったのでメーリングリストからのネタです。
FAQらしいですが、個人情報の入ったIDなどから個人情報の入らない新しいIDを作る方法は?というのが質問

回答は、http://www.stata.com/support/faqs/data/group.htmlですが、少し要約

解決案1 1,2,3、・・・、nという順のIDを作る
. gen id = _n
解決案2
. egen newid = group(oldid)
これをすると、oldidが文字列でも数字列でも昇順に並び替えて、小さい順に1,2,・・・,nとnewidを作る

別法
. sort oldid
. by oldid: gen newid = 1 if _n==1
. replace newid = sum(newid)
. replace newid = . if missing(oldid)
この処理で、下記のようになっている。
oldid newid (as created) newid (as replaced)
1 1 1
1 . 1
1 . 1
1 . 1
22 1 2
22 . 2
22 . 2
33 1 3
33 . 3
個人的には. replace newid = sum(newid)この使い方が新鮮だった。

10 :132人目の素数さん:2010/09/30(木) 10:37:38
sage

11 :132人目の素数さん:2010/10/02(土) 04:50:24
数学板の統計スレここだけになっちゃったね

12 :ごろ:2010/10/02(土) 11:48:37
>>11
お、おう、何でも来い!

13 :132人目の素数さん:2010/10/04(月) 21:38:57
>>ごろ

おめでとう!!
元気でrobustに育ちますように。

14 :ごろ:2010/10/05(火) 04:49:21
>>13
ありがとう!何かとってもあったかい気持ちになった。

15 :132人目の素数さん:2010/10/08(金) 18:16:11
どういう点がいいの?

16 :132人目の素数さん:2010/10/08(金) 18:17:06
子供の話じゃなく、STATAのことね

17 :132人目の素数さん:2010/10/13(水) 03:50:22
大学(院)の統計関係の授業でよく使われるSPSSなどの統計パッケージ
に対するアドバンテージってどの辺にあるの?

http://www.lightstone.co.jp/stata/gradplan.htm
にあるGradPlanは魅力的だと思うけど、授業で使ってるのと違うソフト
買う学生は少ないと思うな。

日本の代理店も「初めてのStata 11」くらいなら無料のセミナーとして
潜在ユーザーが触れる機会を多くすればいいのに。

18 :ごろ:2010/10/14(木) 14:57:02
>>17
遅くなってゴメンなさい。
大きなアドバンテージは、SPSSなどの高価格統計ソフトと比較すると、
はるかに格安で入手できて、統計処理もそれなりにきっちりできるところでしょうか。

実際、アメリカの大学ではUCLAを初め、統計コースで良く使われているソフトです。

19 :ごろ:2010/10/14(木) 14:57:55
まぁ、私自身が、StataとRしかまともに使ったことがないので、比較が難しいというのが本音です。

20 :132人目の素数さん:2010/10/16(土) 10:08:15
>>17
SPSSとStataを使ってます。最近は少しずつRも勉強してますが、
こちらの方はまだまだ初心者です。

SPSSは多くの企業や教育機関で採用された統計ソフトなので、汎用性があるというか、
規模の経済が利いている点が魅力でしょうか。より内容的な利点としては、
分かりやすいGUIを採用しているので、シンタックスを打ち込まなくても割と直観的に
簡単に分析できる、丁寧で分かりやすい解説書なども出回っていて、初心者に敷居が低い、
機能名などが完全に日本語化されている、日本に支社があるためサポートを得られる、
といったところでしょうか。

それに対してStataは、GUIも採用されていますが、SPSSのようにアイコン化されておらず、
通常はコマンドを打ち込む必要があります。日本ではメジャーなソフトではなく、
日本語の解説書も少ないために初心者にとっては敷居が高いという短所はあります。
しかし、SPSSに比べるとはるかに安く、より複雑な分析やグラフ出力の細かな指定ができ、
英語がある程度読めればサポート、リソース、コマンドはかなり充実しており、
便利なコマンドのアップデートが行われているなどの点が挙げられるでしょう。

21 :17:2010/10/16(土) 19:47:42
>>18-20

ご丁寧な説明をありがとうございます。自分でも少し調べてみたの
ですがStataではシンタックスによる操作で説明されていることが多い
ようですね。初心者にはちょっと難しいかも。

でもRでもなくSPSSでもない選択肢としては面白い存在ですね。

22 :ごろ:2010/10/18(月) 14:44:20
>>21
私も、Stataを初めて触ったときは、右も左も分からず困りましたが、
適切なインストラクションを受けることが出来て、最初の小さなハードルを超えることが
できれば、とても使いやすいソフトだと思います。

たいていのコマンドは、メニューから選んでできます。
SPSSもそうだと思いますが、メニューで選んで実行したコマンドも、ちゃんと
画面にテキストコマンドとして出力されるので、StataではDoファイルと呼ばれるエディタに
記録しておけば、次回からはメニューから選ばなくても実行できます。


23 :132人目の素数さん:2010/10/19(火) 09:18:48
たとえば、ここの「データ変換」というところを見るとStata-->SPSSでコレスポンデンス
分析という手順をとっています。
http://hpcgi2.nifty.com/tigerhorse/c-board/c-board.cgi?cmd=all;page=6;id=

ご本人に聞いてみないと分からないことですが、Categories&SPSSがあるのに、すべてを
SPSSでやるのではなく「できるだけStataで作業したい」と感じさせるほどのことがStataに
はあるのでしょうね。

24 :ごろ:2010/10/19(火) 15:25:35
SPSSは知りませんが、Stataは変数名をvar1 var2 var3とか付けておくと
var*で一度に指定できたりとか、そういうところは使いやすいですね。

25 :ごろ:2010/10/21(木) 03:22:20
私はRとStataを使っています。まだRは使いこなせないので、本業ではStata、
時間があるときにはRという感じですね。
両方のソフトを使っていて良いことは、統計ソフトの考え方というか、スタンスの違いが分かることです。
その違いを調べることで、統計についてより深く学べている気がします。

今日はその例を紹介します。
間違ったことを書いているかもしれないので、是非つっこんでください。

ANOVAの等分散性について
一般的にANOVA(分散分析)は、多群の分散が等しく、正規分布していることを前提としています。
古典的には、Bartlett、Levene、O'Brien、Brown-Foresythe検定などの手法で当分散性を確認し
てからANOVAが行なわれていました。しかし、最近では、検定の多重性の問題からANOVAを行な
う前に分散が等しいかどうか、正規分布しているかどうかを先に検定することは推奨されなくなっ
てきています。
 そのため等分散性が不明な場合は、等分散を仮定しない検定法(Welch の方法の拡張)を最初か
ら用いるのが良いようです。Stataの標準の設定では、等分散しているとして計算するので、注意が
必要です(もちろんコマンドで等分散性を前提としない計算も出来ます)。Rでは標準で等分散性を仮
定しない検定法を行ないます。


26 :ごろ:2010/10/21(木) 03:56:00
>もちろんコマンドで等分散性を前提としない計算も出来ます
これは簡単でないかも。fstarとかwtestとか導入しないといけないのかな。

27 :132人目の素数さん:2010/10/21(木) 09:55:13
>>25
>最近では、検定の多重性の問題からANOVAを行な
>う前に分散が等しいかどうか、正規分布しているかどうかを先に検定することは推奨されなくなっ
>てきています。

検定初心者の質問ですが、ある検定の前提となる要件(この場合は等分散)を確認するための検定も、
本来の目的である検定(この場合のANOVA)とともにいわゆる多重検定を構成すると考えるべきなの
でしょうか。群間で同じ検定を繰り返す多重検定とは異なると思うのですが。


28 :ごろ:2010/10/21(木) 17:10:37
>>27
ありがとうございます。
私も素人なので、厳密には分かりません。
これまでは、行われてきた方法でもありますし、仰る通り、意味の違う検定なので、
根本的な問題を起こす危険な多重性ではないと思います。
ただ、どちらかの検定が偶然に帰無仮説が棄却されてしまうのは、有意水準を5%ととすると、
1-0.95^2で、9.8%になります。

私の理解では、こういう問題を避けるためにも、最近は古典的な検定から、
モデルを構築する方向へ変わっているのではないかと思っています。
どうなんでしょうか?

29 :132人目の素数さん:2010/10/26(火) 15:28:58
猫に小判、まで読んだ。

30 :132人目の素数さん:2010/10/27(水) 16:53:43
猫が寝転んだ。

31 :ごろ:2010/10/29(金) 05:49:48
Stataにあって欲しいのにない機能ってありますか?

32 :132人目の素数さん:2010/10/29(金) 22:18:01
Rとの連携機能?
ってのがJMPにはついたそうで。

33 :132人目の素数さん:2010/10/29(金) 23:15:28
JMPも面白いソフトだね。


34 :ごろ:2010/10/29(金) 23:51:10
>>32
なるほど、最近のRの注目度はスゴイですね。
困るってほどではないけど、Rだと同時にいくつものデータフレームを
扱えるけど、Stataだと一つしか扱えませんね。

35 :132人目の素数さん:2010/10/30(土) 01:21:31
他の統計ソフトのファイル拡張子での保存。
これだけで随分楽になるんだが。

36 :132人目の素数さん:2010/10/30(土) 05:24:17
>>34
>Rの注目度はスゴイですね

確かに。ただJMPのような市販パッケージが連携する必要あるのかな。
SPSSとかにお金払いたくない人用の統計ソフトっていうのが自分の捉え方なんだけど。
市販パッケージ使ってて、Rも併用する意味あるの?

37 :ごろ:2010/10/30(土) 13:18:35
>>36
私はRも使いますが、Rは統計ソフトというよりは、統計関連のライブラリが充実した
プログラミング言語という感じています。
その点、新しい分野などには逆に強いと思いますが、
(SPSSやJMPは詳しくは知りませんが)市販パッケージの強みは、
洗練された使いやすさと統一されたデザイン(出力結果も含めて)に
あるのではないかと思います。


38 :ごろ:2010/10/30(土) 14:02:00
RjpWikiってあるけどStataってWikiないよね。立ち上げるかな。。

39 :ごろ:2010/11/02(火) 15:48:56
>>38
サーバーをどこにするかが問題だ。
多分、容量はあまり要らないから長期的に安定して無料か安いとこがいいなぁ。

40 :132人目の素数さん:2010/11/04(木) 11:53:40
猫が寝転んだ。

41 :ごろ:2010/11/07(日) 01:15:33
いろいろあって、急に忙しくなった。自分でレンタルしているサーバーがあるんだが、それを使うか別途契約するか検討中>StataJpWiki

42 :132人目の素数さん:2010/11/13(土) 19:59:28
Rでデータフレームのヘッダだけコンソールに表示させたい時はどうすれば良い?

43 :ごろ:2010/11/14(日) 04:42:17
>>42
Rスレじゃないんですが・・・
データフレームのヘッダって変数名のことかな?
色々方法はあると思うが、例えば
names(データフレーム名)というのはどうでしょう。

44 :ごろ:2010/11/14(日) 04:43:21
忙しいはずなのに、朝方までStataJpWikiを立ち上げようと画策していた。
上手くいかないなぁと思ったらPHPに対応していないサーバーだった...orz

45 :ごろ:2010/11/15(月) 12:47:47
>>44
忙しいはずなのに、Wiki作っちゃいました。
まだテスト段階なので、テストが終了したら公開します!

46 :ごろ:2010/11/16(火) 18:19:58
いかん、いかん
かなりハマってしまった。
URLをもう少しいじりたいけどとりあえず、ここです。
http://statajp.s346.xrea.com/

47 :132人目の素数さん:2010/11/16(火) 22:50:43

Rじゃだめなんか?


48 :ごろ:2010/11/16(火) 23:21:03
>>47
R"も"いいですよ。

49 :132人目の素数さん:2010/11/17(水) 00:09:02
STATAじゃないと駄目なことって何?
それがないと流行らんでしょ


50 :ごろ:2010/11/17(水) 13:20:28
>>49
そんなこと言ったらSPSSじゃないと駄目なことって・・・とも言えそう。
Stataがいい理由はここにどうぞ。
*ttp://statajp.s346.xrea.com/index.php?plugin=related&page=Stata%E3%82%92%E8%96%A6%E3%82%81%E3%82%8B100%2B%E3%81%AE%E7%90%86%E7%94%B1

51 :ごろ:2010/11/17(水) 13:21:35
ここだった。
*ttp://statajp.s346.xrea.com/index.php?Stata%E3%82%92%E8%96%A6%E3%82%81%E3%82%8B100%2B%E3%81%AE%E7%90%86%E7%94%B1

52 :132人目の素数さん:2010/11/17(水) 20:33:39
IP抜かれるの嫌だからここにコピペしろ

53 :132人目の素数さん:2010/11/18(木) 00:57:50
トライアル版なんかないんすかね

54 :132人目の素数さん:2010/11/18(木) 12:08:32
いまさら市販ソフトの宣伝スレ?

55 :132人目の素数さん:2010/11/18(木) 14:49:00
「市販」アレルギーこそ今更だと思うが

56 :ごろ:2010/11/18(木) 15:32:50
だんだん盛り上がってきましたね。
Stataがいいのは、やっぱり簡単に使えて、qualityの高いグラフが作図できるところかなと思います。
日本語版がなくて、最初はとっつきにくいんですが、最初のハードルを超えれば使いやすいです。

特に、システマティック・レビュー用のadoファイルは秀逸です。
本当に出版レベルの図が簡単に作成できました。

Rも面白いんですが、簡単に結果がほしい時には、やっぱりStataを使ってしまいます。

57 :132人目の素数さん:2010/11/18(木) 20:15:25
安いので幾らぐらい?

58 :ごろ:2010/11/18(木) 23:36:05
学生向けだとこれくらい。
*ttp://www.lightstone.co.jp/stata/gradplan.htm
私はアメリカで買ったのでもっと安かったです。

普通に買うと、結構高いなぁ。

59 :132人目の素数さん:2010/11/19(金) 02:18:42
だめだコリャ


60 :132人目の素数さん:2010/11/23(火) 12:39:13
60で終了
STATAなんてそんなもんだろ

61 :ごろ:2010/11/23(火) 17:06:15
>>60
いやいや、これからです。

62 :132人目の素数さん:2010/11/23(火) 17:32:18
>>5で「この業界」と言っておられるが、何業界?

63 :132人目の素数さん:2010/11/24(水) 01:04:02
>>62
アカデミックじゃね?

64 :ごろ:2010/11/24(水) 11:42:00
>>62
そうですね。あまり深い意味で使ったわけではありませんが、

>Stata(すたーた)は、1985年、StataCorp社により開発された統計分析のソフトである。主に経済学、社会学、政治学、疫学の分野で用いられている。by Wikipedia
という分野を想定しています。

65 :132人目の素数さん:2010/11/24(水) 20:03:23
>>64
>という分野

だとSPSSなんかとかぶりまくりだな。

66 :ごろ:2010/11/25(木) 15:38:46
>>65
まぁそうですよね。
というか、統計ソフト自体がテキストエディタソフトのようにごろごろあるわけじゃないので、
有名な統計ソフトを5本挙げよ、と言われたらStataも入ってくると思います。

67 :132人目の素数さん:2010/11/25(木) 18:02:41
研究に有用なソフトウェア-統計ソフト
http://www.kenkyuu.net/comp-soft-01.html
医薬系なんで一般論にはならないと思うが、Prismが1位

68 :132人目の素数さん:2010/11/25(木) 20:19:19
>>67
SASが思ったより少ないのと、Excelが結構多いのが意外。
本郷の生物統計では今でもSASやらされると思う。


69 :132人目の素数さん:2010/11/25(木) 23:04:23
>>68
O橋先生のとこ?
あの人ホントに数学分かってる?

70 :132人目の素数さん:2010/11/26(金) 00:28:20
> 有名な統計ソフトを5本挙げよ、

R
Matlab
Mathematica
SAS
SPSS

STATAは絶対上位5位に入りません!
STATAをいいという人は、STATAぐらいしか使った
ことのない人か、金持ち大学の人です。

STATAを導入していない貧乏大学では、誰も知りません。
名前さえ知りません。

東大は予算が余りまくりの、予算を無理しても使い切れ!
というところなので、性能に関係なく金額の高いソフトを
導入するのです。


71 :ごろ:2010/11/26(金) 15:06:03
ちょっとググッてみました。

MATLAB
正式版はさすがに個人では買える額ではないけど,
学生版なら10,000円程度で買えるよ. ただし,使える行列サイズに制限があります.
Mathematica
学生優待価格の「学生版」があり,生協に注文すれば30,450円で購入できる.アカデミック版が238,350円であることを考えれば格安といえる
SASは個人では買えない?
SPSS
SPSS Base System 15.0
一般価格  :176,400
アカデミック:102,900

確かに安いとは言いませんが、Stataは他のソフトと比べると比較的、割安感があると思います。

72 :132人目の素数さん:2010/11/26(金) 19:44:37
Rが流行るのは高機能(特にグラフィックス)で無料だから
SASが流行るのはお役所公認だから
あとは別にどうでもよい

73 :132人目の素数さん:2010/11/27(土) 10:25:34
sagemath とかどうなんですか?
http://www.sagemath.org/


74 :132人目の素数さん:2010/11/27(土) 12:17:39
>>70
>性能に関係なく金額の高いソフトを導入するのです。

そっちの人w?と話した時は性能の点でSASしかないという言い方してた。
上の学年の人の受け売りぽかったけど。


75 :132人目の素数さん:2010/11/27(土) 15:58:43
コマンドで推定するのでなくて、STATAのプログラミングを基礎から学べるよい本はありませんか?

また、データの加工をSTATAで行いたいのですが、データの行数?が多いとMATAでないと扱えないみたいなのですが、MATAの扱いってSTATA公式のマニュアル以外でなにか分かりよいものってないでしょうか。

社会人になってver10買ってみたものの、ほとんど使ってないので最近仕事で使えるように勉強してみようかと思っています。


76 :ごろ:2010/11/27(土) 17:03:25
>>75
質問のレベルが私のレベルを越えているようですが、頑張って回答に挑戦します。
プログラミングについて
やはりこの辺りでしょうか?
http://www.stata.com/bookstore/isp.html
私はStataのちゃんとしたマニュアルを買ったことがありません_| ̄|○
必要なときに、必要な部分をネット検索で済ませてきてしまったからです。

データ加工について
データの量はどれくらいですか?
http://www.stata.com/products/whichstata.html
ここで言うデータ量(変数の数)を超えていますか?

MATAについては知りません。MATAって何ですか?済みません。

77 :75:2010/11/27(土) 20:02:22
>>76 ごろさん早速ありがとうございます!

http://www.stata.com/bookstore/isp.html
 ↑タイトルはまさしくぴったりです。早速購入してみます。
 STATAだけでなく、プログラミング自体にまったく素養がないので、これを機会に・・・

データ加工ですが、言葉足らずでした・・・
データの行や列を分解したりくっつけたりして、コンディショナル・ロジット分析用のデータをつくる必要がありまして、
いままではエクセルでごにょごにょやってたのですが・・・データが多いとエクセルではきつくて・・・
ある方に聞いたところGAUSSという行列扱うソフトで加工している、との話でしたが私は持っていないので、

どうせ推定にSTATAつかうなら、いっそ加工もSTATAの行列計算の機能をつかってできないか!と思い調べていたら、
どうもSTATAの通常の行列コマンドでは扱える行や列のサイズに制限があり、
(STATAのオンラインヘルプ 「help matsize」 に書いてあります)
それ以上はMATAというSTATAの新しい行列をあつかうやり方だとできそう。。
とういうところまで発見していま止まっています。(;´д`)

そのやり方考えるのついでに、プログラミングの知識がないので、
STATAでプログラミング学ぼうかなと・・・無謀かな・・

お返事ありがとうございました。









78 :132人目の素数さん:2010/11/28(日) 13:19:15
>>76

clogitなんてしばらく使ってないから忘れてしまったけど、
最初はcase2altコマンドでデータをスタックしてたんだけど、
これじゃぁうまくいかないの?基本的に、

. case2alt, choice(y) casevars(X1 X2 X3), gen(Y)

だとオレのあんちょこは言っている。

79 :ごろ:2010/11/28(日) 13:38:31
>>77
Stataには、Mataなんてモードがあったんですね。
私の勉強不足でお恥ずかしい限りです。
Stataからhelpで参照できるMataのマニュアルも結構詳しそうですね。

Mataとmatsizeについては
http://www.stata.com/support/faqs/mata/matsize.html
このリンクにあるとおり,matsizeのリミットを超えて扱えるようですね。

私は普段、matsizeを超えるようなデータを扱わないのですが、
もし宜しければ一緒に勉強したいと思います。
Mataで大きな行列を扱う方法を見つけたらまた書き込みます。

80 :75:2010/11/30(火) 01:35:36
>>78

case2altコマンド あ、こんなものがあったとは・・・
J. Scott Longという人の
Regression Models for Categorical Dependent Variables Using Stata
http://www.stata.com/bookstore/regmodcdvs.html

のP295に書いてありますね。本棚でほこりかぶってたの今発見しました orz
ありがとうございます。

>>79 ごろさん
 私はまったくの初心者&統計も専門ではない文系人間なので、ぼちぼち
としか進めませんが、いろいろ勉強させていただきたいです。
ではまたのぞきにきます


81 :ごろ:2010/12/04(土) 06:34:01
>>75
http://www.stata.com/netcourse/nc151.html
これもいいかも

82 :ごろ:2010/12/10(金) 03:00:33
>>81
値段も手頃ですし、受けて感想を報告してみます。

83 :75:2010/12/11(土) 00:53:36
>>82

ver11じゃないとだめみないなことが書いてありますね。


Prerequisites:
Stata 11, installed and working

http://www.stata.com/netcourse/enrollment.html
みると。

ネットのレクチャー、受けてみたいですが・・・
まあ、英語というところで少し厳しい

84 :ごろ:2010/12/11(土) 08:45:55
>>83
まだ申し込んでいませんが、人柱として受講して、可能な範囲で情報を載せたいと思います。

85 :132人目の素数さん:2010/12/11(土) 18:01:51
いきなりSTATAの代理店から売り込みの電話が来るようになったね
このスレも営利目的臭がプンプンする
ウザイ代理店営業の仕返しに24しておこっと

86 :132人目の素数さん:2010/12/12(日) 20:09:20
このスレ見ると電話番号が代理店にバレるわけですね

87 :132人目の素数さん:2010/12/12(日) 21:33:09
>>85-86

SPSS業者おつ。

88 :132人目の素数さん:2010/12/13(月) 09:39:19


SPSSって売ってもらうの面倒だった。
パッケージで即購入できるのかと思ったら違うのね。

89 :75:2010/12/13(月) 20:35:03
以外とみてる人いるのですね(;・∀・)

>>84 ごろさん 無理ない範囲で人柱お願いします(矛盾・・・

そういえばおとといSTATA NEWSがエアメールで来たが、スウェーデンからになってました。
なんでだろ・・・

90 :ごろ:2010/12/14(火) 07:13:55
>>89
見てくれている人が多いのに、あまり有益な情報が提供できずに残念です。
ネットレクチャーのプログラミング初級を申し込みました。
Stata11のシリアルナンバーがないと申し込めないみたいですね。
11でなくても普通に使えるのに、こういうところで、制限をかけてしまうのは、
ユーザーに反感を買うので、ちょっと残念ですね。

コンディショナル・ロジット分析は経済学では有名な分析手法のようですね。
ちょっと勉強してみましたが、まだ雰囲気しか分かっていません。
何か、小さなデータを手に入れて実際にStataに分析させれると身につくと思うのですが、
そこまで手が回っていません。

MATAの方は、もともとのマニュアルもしっかりしているので自分で勉強できそうですが、
まだMATAを使わないといけない状況がないので、学習意欲が湧いてきていません。

91 :75:2010/12/15(水) 23:32:10
私も素人なので話題の提供なかなかできないですが、話題としてはSTATA中心がよいでしょうが、
もっと統計学や多変量解析、データマイニングなんかの
話もあってもよい気が個人的にはします。ほかにスレあれば別ですが・・

コンディショナルロジットは経済学では企業の立地の分析に使いますね。
あと、嗜好や中毒、行動経済学の実証にも使います。
マーケティングだと、コンジョイント分析という、商品の望ましい仕様の研究で定番です。

私もなんであの式でいいのか証明は追ってないのですが、こんなに簡単な尤度関数になるのか!
と思いました。市場シェアのシミュレーションみたいなことすると面白いです。
100円価格上げるとシェアがどんなふうに変化するのかなどみられるので、そのあたりを仕事で
ちょこちょこ自主的な実験レベルですがやったことがあります。

92 :ごろ:2010/12/16(木) 14:07:57
>>91
ありがとうございます。
もうちょっと勉強してみます。

93 :132人目の素数さん:2010/12/18(土) 20:23:25
>>88
そう?
AMOSだけしか持ってないが、即購入したような記憶があるけど。

94 :ごろ:2010/12/23(木) 12:39:09
本来のスレの趣旨に戻って、Stataの基本的な使い方を書こう。

最初、私が何も知らないでStataを触った時には、やはり英語ということと、
どのコマンドがどこにあるのかがさっぱりで、苦労しました。

実際は数時間レベルのレクチャーを受けるか、周りによく知っている人がいれば、
すぐに使えるようになると思いますが、何も知らないで使い始めると戸惑うと思います。

最初は、Statistics>Summaries, tables, and tests>この中だけで、古典的な手法はほとんど
カバーされているので、ここをいじってみると良いと思います。
あとは、メニューから実行するときに、吐き出されるコマンドを覚えたり、Doファイルに
メモしていくうちに自然と覚えていくと思います。

95 :132人目の素数さん:2010/12/25(土) 01:03:47
明石家サンタでも見るかな。

96 :ごろ:2010/12/26(日) 10:52:05
>>95
ちょっと遅いけど、メリークリスマスです。

97 :132人目の素数さん:2010/12/27(月) 16:08:44
ちょっと早いけどあけましておめでとう。
STATAはHLM、いわゆるマルチレベルモデルは扱えますか

98 :ごろ:2010/12/29(水) 15:00:49
http://www.stata.com/statalist/archive/2007-01/msg00260.html
ここに参考になる質問がありました。
gllammかxtmixedというコマンドでできるようです。
gllammはstata10の標準パッケージには入っていませんが、無料でインストールできます。

gllamm estimates Generalized Linear Latent And Mixed Models.
These models include multilevel (hierarchical) regression models
with an arbitrary number of levels, generalized linear mixed models,
multilevel factor models and some types of latent class models.
We refer to the random effects (random intercepts, slopes or coefficients),
factors, etc. as latent variables or random effects.

If the latent variables are assumed to be multivariate normal,
gllamm uses Gauss-Hermite quadrature, or adaptive quadrature
if the adapt option is also specified. Adaptive quadrature
can be considerably more accurate than ordinary quadrature,
see first reference at the bottom of this help file.

With the ip(f) option, the latent variables are specified
as discrete with freely estimated probabilities (masses) and locations.

More information on the models is available from
http://www.gllamm.org

私の興味ある分野なのでもっと勉強したいと思っています。


99 :132人目の素数さん:2011/01/01(土) 15:36:05
>>97
できますよ。私はよく使っています。

>>98でごろさんが既に答えているけど、gllammやxt-あるいはxtme-コマンドを使います。
テキストとしては、

Rabe-Hesketh, Sophia and Anders Skrondal. 2008. Multilevel and Longitudinal Modeling Using Stata. College Station, TX: Stata Press.

があります。

xt-やxtme-はそこそこ動いてくれるのですが、gllammはシャレにならないほど
結果の出力に時間がかかるので注意が必要です。
Nやモデルの内容、マシンパワーにもよりますが、3レベル以上になると、
さすがにgllammで何度も結果を出力させるのは無理があると思います。

100 :ごろ:2011/01/01(土) 16:46:19
>>99
新年おめでとうございます。今年も宜しくお願いいたします。
補足ありがとうございます。
もっと勉強したいと思います。


101 :132人目の素数さん:2011/01/02(日) 12:49:45
>>99
googleブックスでその本が読めるようですね。
勉強します。

102 :132人目の素数さん:2011/01/09(日) 17:38:30
【R言語】統計解析フリーソフトR 第4章【GNU R】
http://kamome.2ch.net/test/read.cgi/math/1294561909/

103 :132人目の素数さん:2011/01/10(月) 15:21:05
遅くなったけど、新年おめでとう!
今年もよろしく!

104 :ごろ:2011/01/11(火) 00:28:21
>>103
今年も宜しくお願いいたします。
>>102
ついにRスレも復活したんですね。

今、R用のレクチャーノートを作っている。
Stataにはlabelという概念があって、変数の意味をlabelに書くことが出来る。
表を作った時などに、labelがあると、変数名の変わりにlabelが表示される。

Rにはこれと全く同じ概念のものはないが、comment関数で変数を含むオブジェクト全てに
commentを書きこむことが出来る。Stataみたいに、作表時に自動的にタイトルになるという
ことはないが、きっと上手く指定してやればStataと同様なことは出来るはず。

105 :ごろ:2011/01/20(木) 06:00:08
Thank you for enrolling in NetCourse 151.

The course will begin January 21, 2011. You will receive the preliminary
information on the course, including the URL, password, and username,
via email on the starting day of the course.

なんか1月もあっという間だな。もうすぐNet course始まる。

106 :ごろ:2011/01/22(土) 09:39:11
ネットコース始まった。

さっそくいくつか学んだ。
Stata内でも簡単なUnixコマンドが使えること。
cdとかmkdirとか

レクチャー1は全17ステップ
2まで終わったところ。
最初のプログラムはやっぱりHello Worldを表示させることだった。

107 :ごろ:2011/01/22(土) 15:49:01
全体17の4まで読んだ
出てきたコマンドは
program
which
set trace on
set more off
set more on
set trace off
など

結構基礎から丁寧に教えてくれていて分かりやすい。
doファイルでコマンドの最後に改行を入れ忘れると駄目など、
結構落とし穴も注意してくれる。

楽しみ。



108 :ごろ:2011/01/22(土) 19:00:16
今ステップ7のadoファイルを作る所まで来た。ここまでは簡単。
でも次から急にややこしくなってきたので休憩。

レクチャーは全部で4回みたいだ。火曜日までに宿題や講義への質問かコメントを書かないと
いけないようだ。

109 :ごろ:2011/01/25(火) 07:23:03
あれからあまり進んでいないが、
ステップ8−10は、結局沢山のdoファイルを混乱しないようにオーガナイズ
する方法の紹介だった。
例えば、データセットを作るためのdoファイルとデータ解析をするための
doファイルの名前を先頭の数文字で区別できるようにするなど。
ここで勉強になったのは、doファイルのなかに、do doファイル名と書きこむ
ことで、doファイルから別のdoファイルを呼び出すことができること。
ステップ11は、infileコマンドの解説だが、ややこしそう。

ちなみにLecture1はWordにコピペしてみたら54ページ13000単語を超えていた。
残り29ページ7000単語。

110 :ごろ:2011/01/26(水) 03:55:57
ステップ11はinfileの使い方、dictionary formatの説明、階層データの
読み込み方。
巨大データを非力なコンピュータで扱う方法
(日中はデータサイズを縮小して仕事をして、寝ている間に全データで作業する)
新しいコマンド
sample 10 /*データから10%のデータに間引きする*/
ステップ12は再現性について
Stataの乱数について
コマンド 
set seed 数字
sort 変数名, stable <-このstableオプション
ステップ13は添字
変数名[_n]
[_n+1],[_N]などの使い方
gen y=x[_N-_n+1] /*これはxの変数を逆順にyに入力*/
ステップ14
Stataは条件分岐とループが遅いから出来るだけ避けるべきとのこと
assertの進んだ使い方。このassertで避けられるそうだが、理解不十分
ステップ15
summarize(x)の後 r(mean)で結果を取り出す方法など
ステップ16
まとめ
ステップ17は確認のための練習問題



111 :ごろ:2011/01/26(水) 06:06:36
実は、Stata11は持っているんですが、実習はStata10でやっていました。
これまでほとんど問題なく出来ていましたが、
mergeコマンドで問題発生

stata11からは
merge m:1 ・・・
というのが使えるがstata10では使えなかった。

112 :ごろ:2011/01/26(水) 13:40:40
英語力の問題もあるんだろうけど、Lec1の演習問題はあんまり面白くないなぁ。
今日正解発表があった。

一応、提出義務はないようだ。というか、送ってくるなと書いてある。

113 :ごろ:2011/01/28(金) 09:12:40
Lecture1は講義内容は8−9割以上理解できた。
演習問題はまだ6−7割しか理解できていないので後でもう一度。

すでにLecture2の講義がUpされている。

114 :132人目の素数さん:2011/01/28(金) 18:35:09
いくら何でも日記はいらんよ
自分が立てたからといっても、スレはあんたのものではない

115 :75:2011/01/30(日) 22:34:48
STATAレクチャーよさそうですね。やはり、講義のよさってありますよね(強制的に進んでいくとか・・・)

いま、ちょっとわけありで直交計画がSTATAで出せないかと探していましたが、
可能かどうかがいまいちわからず・・・

Rで、oa.design()という関数でできるということが分かりましたが、できればSTATAで
やりたいので、ご存じの方いましたら教えていただきたく。


116 :ごろ:2011/02/01(火) 18:53:28
>>115
直交計画という分析方法もあるんですね。勉強になります。
調べてみたらorthogという関数がStataにあるようです。
help orthogonal
詳しくは、で見てみてください。

Rに、oa.design()という関数はありますか?
RjWikiで調べたところS-Plusにはこの関数はあるが・・・という記載は見つけました。
Rでは、パッケージは何を使うのでしょうか?

Stataレクチャーの方は、ざっと2回目までの講義を見たところ、プログラミングの基本というだけ
あって、かなり基礎的な内容の印象です。
2回目のレクチャーの内容の詳細はまたおいおいUpしたいと思いますが、とりあえず、1週間の休み
があるので、のんびりしています。

しかし、知っていると思っていたことでも新しい気付きがあったりして、受講して良かったと思っています。
内容的にはStata11でなくても十分なので、Stata11所有者という縛りはない方がいいのにと思います。

Stataプログラミング関連で何か質問があれば、講義に直接関係なくても聞くことができるかもしれません。
もし、代わりに聞いて欲しい質問があれば教えて下さい。

117 :75:2011/02/03(木) 00:03:24
>>116
Rの関数 oa.design は、DoE.baseというパッケージに含まれています。
意外と知られてないんでしょうか・・・といっても私もたまたま見つけたのですが。

STATA orthog ありがとうございます。早速しらべます。

118 :Stataの為にパソコンを買い替えようとしてるアホンダラ:2011/02/04(金) 10:49:44
最近、古くなってきたパソコンを買い替えようと思っているんですが、
折角なので、Stataの演算速度やらデータの容量やらについてちょっと考えてみたいと思い、
StataのFaqページなどを調べつつ、カキコすることにしました。

需要があるかどうかは分かりませんが、もともと過疎ってるスレですし(失礼w)
分析方法に比べると、この手のトピックは割と手薄だと思うので、
>>114さんは嫌がるでしょうが、自分の日記代わりに書かせていただきます。
そうです。私は、人の嫌がることでも自ら進んでしますwww

ちなみに、パソコンに関してはほぼド素人に近い人間ですので、
ここを見てる多くの方には当たり前の情報ばかりでかもしれませんが、
自分も勉強するつもりで頑張りますんで、よろしくお願いします。
主に、「Stataが遅い!」 「Stataを効率よく使うのにはどんなパソコンがいいのか知りたい!」
と思ってる希有な人々、あるいはパソコンを買い替えるときには役に立つかもしれません。
Windows OSを利用しています。MacやLinuxは分からんのですが、
多分内容的にはほとんど同じだと思われます。

119 :Stataの為にパソコンを買い替えようとしてるアホンダラ:2011/02/04(金) 11:45:49
さて、最初の疑問に思ったのは、Stataの処理を素早く行うには、
パソコンのどの部分をどうしたらよいかとということです。
当然ですが、コンピューターのデータ処理には、
CPUとメモリが大きく関わってきます。

まずCPUですが、これはコンピューターの頭のよさに該当する場所で、
これが早ければ当然、演算速度も速くなります。
Stataからは、「CPUクロックとStataのパフォーマンスの間には線的な関係がある」
というレポートが出ています。

ここで「CPUクロック」値というのは、Intel Core 2 DuoとかAMD Phenom IIとかの、
CPUの製品名の後に書いてある、「2.3GHz」やら、「3.0GHz」やらの数値のことを指しています。
つまり、他の条件を一定にすれば、この値が大きければ大きいほど、
Stataの計算・処理速度も速くなる、ということだそうです。
(詳細:http://www.stata.com/support/faqs/win/specs.html

ところで、3-4年前のCPUと、現在販売されている最新型のCPUの
クロック値だけ比べてみると、同じような値であることに気付きます。
例えば、2006年頃に発売されたIntelのCore 2 DuoというCPUの、
一般ユーザー向けCPUクロック値は、およそ1.3GHz〜2.6GHz
といったところでした。これに対して、現在売られている
最新のIntel Core i5あるいはCore i7シリーズの標準的なCPUクロック値は、
下は1.8GHzくらいから上はせいぜい3.4GHzで、
その値を見る限りは、代わり映えがしないように見えます。

しかし、クロック値自体は変わらなくとも、一般的な処理スピード、
とりわけマルチタスク(複数のプログラムを動かすこと)
への対処速度などは、間違いなく上がっています。
これは、@搭載されているCPUの数が2つから3つ、4つ、あるいはそれ以上に増えてきていること、
ACPUの中身の構造(アーキテクチャ)や複数のCPU同士で仕事を効率よく
振り分ける機能(スレッディング等)が改善されたことが原因のようです。

120 :Stataの為にパソコンを買い替えようとしてるアホンダラ:2011/02/04(金) 11:48:29
「そんなパソコン話はどうでもいいから、@とAのお陰でStataは速くなるんかい!?」
というのが知りたいところでしょうが、Stata MPを使っていれば、これらの技術的進化の
恩恵を受けることができるようです。Stata SEでは、1つのCPUのみを用いる設定
になっているそうですが、Stata MPはCPUの数に対応して処理を効率的に行えるようで、
テストでは、Stata MPを1つのCPUで走らせたときと比べると、2つのCPUのときには
およそ1.6倍ほどの速さになることもあると報告されています。(データの内容、分析方法などによる)
(詳細:http://www.stata.com/statamp/
(より詳細:http://stata.com/statamp/report.pdf

更に、これは自己責任になりますが、規定のCPUクロック値を上回る働きをさせる機能
(オーバークロック)を利用すれば、実装されたクロック値以上の処理速度を期待できるかもしれません。
最近では、そのような機能を行わせることを前提としたCPUも売り出されているようです。
(つい最近不良欠陥が見つかって、回収騒ぎになってしまいますが。)
分析データが大きい場合や、分析に時間がかかるモデルを利用している人は、
このような機能を使ったりすることで処理速度を速くできるかもしれません。

少し書きすぎました。
次は気が向いたらメモリの話を書きます。

121 :ごろ:2011/02/05(土) 18:36:10
>>118-120
ありがとうございます。私はあまり巨大なデータを扱わないので、
CPU数による処理速度の違いとかを気にしたことはありませんが、
確かにStataのパッケージの違いで、CPU数がいくつまで対応しているかという
のは見た記憶があります。

また、NetCourseのレクチャー1でも、巨大データを扱う方法で、昼間は、
間引いたデータで行い、最終的な処理は、夜中寝ている間にやらせるという
Tipsがあり、興味深く読みました。

さて、日記の続きを書きます。
今日は、NetCourseのレクチャー2です。全部で15ステップあります。
ステップ1
レクチャー2用のパッケージ導入
StataとRしか知りませんが、最近の統計ソフトは、コマンドを打つだけで、
勝手にネット上から、拡張パッケージをインストールできるのが良いですね。

2はマクロについて
C言語のマクロと非常に似ているなと思う。
意識せずに使っていたが、
local i=1 という命令はマクロを定義していたのだと、気がついた。
C言語ライクに、=を除いて、
local i 1 と書いても同じ。

3はマクロの具体的な使い方について
とりあえず今日の日記はここまで。


122 :ごろ:2011/02/08(火) 05:59:36
ステップ3/15からもう一度
マクロ定義で=を使ってもいいし、使わなくてもいいという違いがあるが、
これには、重要な違いがあるということ。まだ理由は説明されていない。

#delimit ;命令を使って、文の終わりを改行ではなくて、;で終わりにするように変更する方法。

keep/drop関数の使い方

マクロで間違えやすいことの例
local x = -1
di `x'^2
di (`x')^2

summarize 変数名, detail
の結果をr(p5),r(p95)で参照する方法

ステップ4/15
これは知らなかった。
do doファイル名 マクロ名1 マクロ名2
の命令で、doファイル内に書いた`1',`2'にそれぞれマクロ名1、マクロ名2を代入できる。
今日はここまで。


123 :Stataの為にパソコンを買い替えようとしてるアホンダラ:2011/02/08(火) 15:32:14
CPUが頭の良さを表すなら、メモリは作業をする机の広さを表すそうなんですが、
これもStataの処理速度と機能に関わる重要な要素です。メモリは「システムメモリ」とか、「メインメモリ」、
あるいは「RAM (Random Access Memory)」と呼ばれている部分で、1GBとか、2GBとかの数値がその大きさを表しています。

さて、作業机は大きい方が良いので、1GBよりも2GB、2GBよりも3GBのメモリを持つコンピューターの方が
もちろん良いわけですが、Stataがコンピューターにあるメモリのうち、どのくらいを利用するかは、
Stata自身で決めることになります。比較的大きなデータを扱ったことがある人はご存じでしょうが、

. query

と打ち込むと、最初の方に

Memory settings (also see query memory for a more complete report)
set memory 100M

と表示され、上の例では、コンピューターが元々持っているメモリ領域のうち、
100MBがStataに割り当てられ、Stataはそのスペースにデータを広げていることになります。

基本的に、仮想メモリを使わない限り、この値以上のデータを広げることはできないので、
例えば、上の例で言えば、100MBが割り当てられているときに200MBのデータを開けようとすると、

"no room to add more observations"

云々というエラーが返されます。そこで、

. set memory 300M

と割り当てる了を300MBに増やしてあげれば、それ以下の量のデータを読むことができますし、
その割り当てを常に保持しておきたければ、後に", permanently"のオプションを打ち込めば、
次回起動時にその設定が保持されます。

124 :Stataの為にパソコンを買い替えようとしてるアホンダラ:2011/02/08(火) 15:35:06
さて、Stataにどのくらいのメモリを割り当てられるかは、コンピューターによって制限がかかっており、
例えば、もともと1GBのメモリーしかないコンピューターに、

. set memory 2GB

と指定しても、

"op. sys. refuses to provide memory"
r(909)

のようなエラーが返ってきます。
以前のバージョンでは、Stata起動時に"/k"というオプションを使うと、
仮想メモリー(机の上に臨時の机を用意するようなもの)にもデータを割り当てられることができたため、
このオプションを使えば大きなデータも読み込めたようですが、
現在のバージョン(Stata 11)で同様の方法は確認できませんでした。
(参考:http://www.stata.com/support/faqs/data/large.html
    http://www.stata.com/support/faqs/win/memory.html

125 :Stataの為にパソコンを買い替えようとしてるアホンダラ:2011/02/08(火) 15:37:56

32ビットのWindowsシステムでは、仮にコンピューターが2GBのメモリを積んでいても、
他のプログラムが利用しているメモリの割り当てなどによって、
Stataには最高でも1GB程度のメモリしか割り当てられないことがあるそうです。
(参考:http://www.stata.com/support/faqs/win/winmemory.html
Stataでは、Windowsで1GB以上の大きなデータを扱う場合は、
64ビットのWindowsシステムを使うことを推奨しています。
(参考:http://www.stata.com/support/faqs/win/misc.html

また、これは仕方がないことなのですが、Stataが計算のために物理メモリだけでなく、
仮想メモリを必要とするとき、(ハードディスクに多くアクセスしている場合は、たいていそう)
Stataの処理速度がかなり遅くなることがあります。これを回避するためには、
コンピュータにより大きなメモリを導入するか、増設する必要があるようです。
http://www.stata.com/support/faqs/win/misc.html

126 :ごろ:2011/02/09(水) 04:25:08
レクチャー2
ステップ5/15
レクチャー1で習ったdictionary format形式のデータベースからの
データの取り込みをマクロを使ってもっと華麗に行うという実例。
一応、眺めて理解したつもりだが、自分で作れと言われたら出来ないだろうな。
ステップ6/15
マクロを使ってデータの取り込みをする別の例
この例を学んで、Doファイルの中に
> do doファイル名 マクロ名
というコマンドを書きこむメリットが良く理解できた。
簡単に説明すると、
同じようなデータ構造をした複数のテキストデータからデータを取り込む際、
一つのdoファイルに一つのテキストデータからの具体的なデータの取り込み手順
を記載しておく。ただし、テキストデータのファイル名は`1'としておく。
すると、別のdoファイルに
> do 今作成したdoファイル名 最初のテキストデータファイル名
> do 今作成したdoファイル名 2番目のテキストデータファイル名
とdo コマンドを列記するだけで、複数のテキストデータからのデータ取り込み
が完了する。

次の例は、上記のように別のdoファイルに記述した内容を
programコマンドを使って一つのコマンドにして、
一つのdoファイル内で完結する方法





127 :ごろ:2011/02/09(水) 04:27:32
ステップ7/15
ステップ8/15
ここはちょっとややこしいから、飛ばして後回し
ステップ9/15
if, forvalues, while関数の紹介
> local i = 1
> while `i' <= 10 {
> display `i'
> local i = `i' + 1
> }
など
ステップ10/15
プログラムの書き方のスタイルについての話し
Stataは{}の使い方を注意しないといけない。
例えば
if `i'==1 {
display "yes"
} else {
display "no"
}
これだと} else {ここでエラーが起きる
今日はここまで。

128 :ごろ:2011/02/15(火) 14:21:23
また日記だけど、
のんびりしているうちに既に3回目のレクチャーのDiscussion期限が来てしまった。
追いつかないと・・・

129 :ごろ:2011/02/18(金) 07:25:20
だいぶ遅れている。
レクチャー2の残りはステップ7・8と11−15
理解しやすいところから終わらせる。
ステップ12
forvaluesコマンドの使い方
ここはそれほど新しい話はなし。
local N = _Nとする使い方と
displayコマンドで _column() と _skip() コマンドを使う方法がためになった。

続きはまたあとで。
lecture3は日付を扱う関数がでてくる。
stataは02/14/2011という文字列をdate()関数で日付と認識できるが、
02/14/11という文字列からはそのままでは、日付として認識できない。
これに関して質問したら、非常に有用な回答をもらった。
解決方法
date("02/14/10","MD20Y") あるいは、date("02/14/10","MDY",2011)
特に後者の方法は上手くつかえば、1999とか2010とか異なる年代が混在する場合でも
上手くはたらく。
やはり、このコースのメリットはその道の専門家に質問が出来、回答を得られることだと認識した。


130 :ごろ:2011/02/20(日) 10:51:09.96
時間ができたのでちょっと頑張った。

レクチャー2 ステップ7/15
ややこしくて飛ばしたステップ7に戻る。
ここは、localで定義したマクロが及ぶ範囲についての話。
例えば、doファイルの最初に定義したlocalマクロは、その後に出てくるプログラム内には影響を及ぼさないなど。
globalマクロの使い方も少し出てくるが、危険なので、NetCourse152までは出てこないということ。

ステップ8/15
local マクロ名 1 とlocal マクロ名 = 1 の違いなどについての詳細な説明。
=を使うとコンパイラーが起動されるなど動作が多少遅くなる可能性があるようだが、通常はあまり気にしなくて良さそう。

ステップ11/15
foreachの使い方
>do doファイル名 マクロ名1 マクロ名2
このときlocal 0でマクロ名が全て読み込める。
だからforeach var of local 0 {で、マクロ名リストを読み込んで一つずつ実行できるようになる。


131 :ごろ:2011/02/20(日) 15:21:17.19
ちょっと頑張っておいつかないと。
ステップ13/15
プログラムとしてのif文の使い方。
特に変わった使い方はなさそう。

レクチャー3
ステップ1/15 レクチャー3の準備
ステップ2/15 複雑なデータの紹介とこれまでの方法でのデータ取り込み方法
ステップ3/15 clock関数の使い方
ステップ4/15
以前にも出てきたassertを使ってデータを確認する方法。
mod()関数を使ったテクニックの紹介
by id: drop if ...というのは結構使えそうな気がする。
ステップ5/15
summarize関数などを使ったときに自動的に保存される値の扱い方。
return list, ereturn list
またプログラムの中で使うと少しややこしい。
キーワードはprogram プログラム名, rclass
ステップ5.1/15
プログラムの中で
return scalar
return local /* マクロを返す*/
return matrix
の使い方
ステップ5.2/15
他のプログラムから保存される値を呼び出す方法
`r()'の使い方がややこしい。


132 :ごろ:2011/02/23(水) 13:44:37.37
Stataの条件設定って結構融通が効かない
replace var1=0 if no==1 | no==8
replace var1=0 if no== (1 | 8)
上の式はOKだけど、下の式では8は無視される

replace var=1 in 1/3 /* change from var1[1] to var1[3].
in を使うとこういう表現ができる。ifでは使えない。使い分けが必要。

133 :ごろ:2011/03/02(水) 15:06:55.87
今週いっぱいでネットコースが終わる。
一応全てのレクチャーにひと通り目を通した。

まだ改善点はあると思うが、全4回のレクチャーを終了すると、
adoファイルに書かれている内容が "ちょっとだけ" 読めるようになる。
値段の割にはお得だった気がする。

ステップ5.3/15
return()とr()の違い return()は自分で定義した変数の値を返す。r()はStata関数の実行した値を取り出す。

ステップ6/15
ブートストラップ法
bootstrap r(mean), reps(1000) nodots: summarize mpg
ここでreps()は繰り返す回数
nodotsは#を表示しないオプション
プログラムを利用したブートストラップの方法

ステップ7/15
trace on/offでプログラムのエラーを見つける方法

ステップ8/15
ブートストラップの前に欠損データを削除する方法
keep if 変数名 < . この表現重要!
Stataのhelpファイルより
Numeric missing values are represented by large positive values. The ordering is
all nonmissing numbers < . < .a < .b < ... < .z
ステップ9/15
ブートストラップでスピードをUpする方法
ブートストラップを走らせる前に不必要な変数を削除する



134 :ごろ:2011/03/02(水) 15:08:08.80
ステップ10-13/15
プログラムを使ってモンテカルロ法をする方法
モンテカルロ法は、計算された95%CIが本当に正しいかどうかを確かめる時などにも使える手法

ちょっとややこしいが、モンテカルロ法を行う時などに使う新規データベースの作成方法
program プログラム名
postfile 新規データベースを作るための名前 新変数名1 新変数名2 新変数名3  using 作成するデータベース名,replace
forvalues i = 1/作成するデータ数 {
drop _all
  /* ここに計算式 */
post mysim (新変数名1に代入する値) (新変数名2に代入する値) (新変数名3に代入する値)
}
postclose 新規データベースを作るための名前
end
quietlyコマンドの使い方
quietlyを適応する部分を別のプログラムにして
プログラムの中から
quietly 別プログラム名
で呼び出す方法

14/15
モンテカルロ法をスピードアップする方法
which コマンド名
これでbuilt-in command:と表示されるコマンドは実行速度が速いが、
/Applications/o_Stata/ado/base/c/ci.ado
*! version 3.3.15 17mar2005
このように表示される.adoコマンドは実行速度が遅いのでモンテカルロ法などで使うのを避けるべき


135 :ごろ:2011/03/03(木) 05:09:56.70
Lecture3-15/15
練習問題
date関数は以外と融通が利かない。以下例
display %td date("Feb02","MD") /* OK, but Year is 1960. */
display %td date("Feb02","MD1993") /* This doesn't work. */
display %td date("Feb02"+"1993","MDY") /* OK */
display %td date("Feb02"+ string(1993),"MDY") /* OK */
display %td date("Feb02","MD",1959) /* Strange, Year is 1960. */
display %td date("2001/02/03","YMD") /* OK: 03feb2001 */
display %tc date("2001/02/03","YMD") /* NO: 01jan1960 00:00:15 */

display string(1993) + "Feb02" /* OK: 1993Feb02 */
display "Feb02" + string(1993) /* Error: Feb02unknown function +string() */

ブートストラップの結果表示のための関数
. matrix define 変数名 = もともとのデータから計算 /*計算された値はMatrixに直す必要がある。*/
. bstat, stat(変数名) n(対象数)


136 :ごろ:2011/03/03(木) 05:11:59.82
Lectrure4
1/24 pwd /* 現在の作業ディレクトリを表示 */
2-6/24 Adoファイルを用いて、capture log closeなどのコマンドをサポートする。
discard
adoファイルはメモリに読み込まれるため、元ファイルを変更してもすぐには反映されない。
このdiscardコマンドで、adoファイルを再読込する。
capture noisily ・・・
このコマンドで、途中でエラーが起きてもlogファイルが作成されるようになる。
7/24 sysdirコマンドでStataが使う7つのディレクトリが表示される。
通常は、自作のadoファイルはPERSONAL:で表示される以下に格納する。Macなら例えば
PERSONAL: ~/Library/Application Support/Stata/ado/personal/
となる。
8/24 Stata helpファイルの作成方法
9/24 Doファイル、プログラム、adoファイルの使い分け


137 :ごろ:2011/03/03(木) 05:13:20.91
10/24 adoファイルで有効な一時的な変数を作成するtempvarの使い方
11/24 preserveコマンドの使い方。
プログラムが終わったり、エラーが出るとこのpreserveコマンドを実行した時点のデータセットに戻る。
12/24 一時的にファイルを作成するtempfileコマンドの説明
13/24 adoファイルでもassertコマンドを使いなさいという教え
14/24 変数名をマクロで読み込むadoファイルの紹介
15-16/24 summarize,detailコマンドで得られる結果のうち、interquartile rangeのみを表示させる新しいプログラムを
作成しながら、どのように上手く結果を表示させるかなどの説明
使われている関数は、
_col()関数、Stataは初期設定で%9.0gで結果を返すので、9文字以上の数列にはならないことを利用。
17-18/24
syntax [varlist]
foreach i of local varlist {
この組み合わせで、Stataの通常のコマンドのような操作が出来るようになる。
19/24 syntax [varlist]の詳しい説明 help syntaxで表示される内容とほぼ同じ。
20/24 自作プログラムで、if,in, =exp, usingf, w aw pw iwコマンドが使えるようにする

138 :ごろ:2011/03/03(木) 05:50:41.84
21/24
syntax [varlist]
syntax varlist の違い。[ ]が無いときには、変数名が指定されていないとエラーになる。
特定の処理をさせる場合にはエラーを避けるためになるべくifオプションなどは使わない。
使う場合には次のコマンドでデータを守る。
if "`if'" != "" {
preserve
quietly keep `if'
}
22/24
" ",`', `" "'の使い方。ここは非常に参考になった。
マクロのに""を含む文字列を代入すると、エラーが起きることがある。
それを避けるために`" "'を使う。
ここを学んで、何故Stataが`'などというおかしな引用符を使うのかが少し分かった気がする。
23/24
version 10
というようなバージョンコントロールの説明
*! (adoファイル内)で始まるコメントは、which コマンド名 を実行したときにコメントが表示される。

24/24
練習問題
error エラー番号 エラーの説明が表示される
abbrev(変数名,表示させる長さ) 変数名が長いとき、省略してくれる。
unab マクロ名 : _all マクロ名に、データに含まれる省略されていない変数名が全て格納される

これで一応全てのレクチャー内容の報告を終わります。
参考にして頂ければ幸いです。

139 :ごろ:2011/03/04(金) 03:00:03.77
Stataのバグ?
. display string(1) + "A"
1A
. display "A" + string(1)
Aunknown function +string()
r(133);
. display = "A" + string(1)
A1

string()と文字列を足し算するときに順番を入れ替えるとエラーになる
意味の分からない=だが、これを付けるとOK

140 :ごろ:2011/03/04(金) 03:03:37.69
今、気がついた
A1だと変数名と勘違いされてしまうからエラーになるのかな?

141 :ごろ:2011/03/05(土) 08:33:06.57
Advancedも受けようかなぁ

NetCourse® 152: Advanced Stata Programming
Content:
This course teaches you how to create and debug new commands that
are indistinguishable from the commands in Stata.
It is assumed that you know why and when to program and to some extent
how.
You will learn how to parse both standard and nonstandard Stata syntax
using the intuitive syntax command, how to manage and process saved
results, how to process by-groups, and more.
Course leaders:
Kerry Kammire, technical services analyst at StataCorp
Jennifer Rolfes, technical services representative at StataCorp
Course length:
7 weeks (5 lectures)
Dates:
October 7–November 25, 2011
Prerequisites:
* Stata 11, installed and working
* Course content of NetCourse 151 or equivalent knowledge
* Internet web browser, installed and working
(course is platform independent)
Price:
$150.00

142 :132人目の素数さん:2011/03/25(金) 20:00:53.28
@保守

ごろさん大丈夫かぁー??

143 :ごろ:2011/03/27(日) 03:08:58.46
>>142
ありがとうございます。私と私の周りの人は皆無事です。
しかし、あまりの事態に、のんきにStataしている気になれませんでした。
地震・津波そのものの被害も大変なものでしたが、原発事故の影響が恐ろしいです。
犠牲になられた方のご冥福をお祈り申し上げます。

144 :132人目の素数さん:2011/04/10(日) 23:28:41.47
ちなみに、stataのオンライン・レクチャーはDVDでみれたり、あるいは、過去のものをみれたりするのでしょうか。社会人の私としては、決まった時期にみるというより、休みの時に一気に見たいのですが。

145 :ごろ:2011/04/12(火) 05:52:11.98
>>144
オンラインレクチャーというよりは、オンラインで置いてあるテキストを読みながら
自分で勉強するという感じですね。
そういう意味では本を購入するのと変わらないので1万以上するのは高い気もしますが、
質問もできるというインタラクティブ性が良いのでしょうね。

テキストファイルなので、時間があるときに、自分のペースで勉強出来ます。
質問も、24時間OKです。返信は24時間いつでも対応ではありませんが、数時間以内には
全て答えが返ってきていましたし、とても参考になる答えもありました。

講義や、質疑応答の資料は後日、ダウンロードできるようになるので、復習も出来ます。
本と比較すると高いですが、巷の講演会を受講するよりは、質問も何度でも好きなだけできますし、
ある程度期間があるので、自分を強制的に勉強させることが出来たし、結果的には良かったのかと
思っています。


Advanceコースは10月なのでまだ先ですが、一応今のところは受けるつもりです。
他にも興味深いコースはありますが、2万円以上するので、さすがにちょっと躊躇しています。

146 :132人目の素数さん:2011/04/13(水) 00:04:53.57
>>145

せっかくオンラインなのだから、DVDなどで販売してくれたほうがうれしいですよね。
何度も見返すことができるし、第一、好きなときに勉強できます。
次回も、上級レベルと通常レベルがかぶっていて、両方受講するにはちょっとタイミングが悪いです。
といういうニーズの対応はTACやLECは普通やっていることですので、臨機応変にしてほしいところです。

ちなみに、どれくらいの期間視聴が可能なのでしょうか。

147 :132人目の素数さん:2011/04/13(水) 00:32:24.18
>>146

ちなみに、MATAについてはオンライン・セミナーで議論されるでしょうか。ネット上でかかれた.mlibファイルが開くことができず、stata9で開けず苦労しています。このあたりの勉強を講義ベースで聞けたらと思うのですが。

148 :ごろ:2011/04/13(水) 02:09:41.64
>>147
視聴期間は基本的に講義開催期間のみですが、先にも書いたとおり、最終的には
サイト自体がダウンロードできるようになるので、講義終了後に繰り返し復習することは可能です。

MATAについてはよく分かりませんが、少なくとも私が受講したコースには有りませんでした。
しかし、講義から離れた内容の質問でも答えてもらえる可能性は高いと思います。

149 :ごろ:2011/04/24(日) 23:29:58.92
ノートパソコンのOSをクリーンインストールし直した。
前は、Stataの10と11を両方使っていたけど、今回は11のみでいくことにした。


150 :ごろ:2011/05/04(水) 18:13:09.80
今byableなプログラムを書いているけど結構難しいなぁ

capture program drop myprog
program myprog , byable(recall)
syntax varlist
marksample touse
foreach i of local varlist {
quietly:sum `i' if `touse'
di abbrev("`i'",9) _col(10) "N ="r(N) _col(25) "Mean +/- SD="%4.1f r(mean) " +/- " %4.1f r(sd) _col(55) "Min =" %4.1f r(min) _col(70) "Max =" %4.1f r(max)
}
end

こんな感じになるんだけど、myprogに変数が沢山つくと挙動がおかしくなる。
なんでだろー

151 :132人目の素数さん:2011/05/05(木) 22:21:25.50
MAC版で日本語を表示させると、詰まって表示されるのですが、
何か対策はありますか。

教科書体を利用すると、多少ましになりますが、他に手段は
ないのでしょうか。

152 :ごろ:2011/05/06(金) 02:46:33.01
>>151
私もMac版 v11.2を使っています。

Stataで日本語表示をさせようと考えたことが無かったので
気が付きませんでしたが、同じ状況は再現できました。

試したコマンド
di "日本語を表示させる"

OsakaとかもPreferenceから選べますが、ダメでしたね。
やっぱりDF教科書体が一番まともでした。

コピーしようと選択すると文字化けみたいになりますね。
ペーストはちゃんとできますが、日本語表示のために何か複雑な仕組みでも
あるのでしょうかね。

詰まってしまうのは、等幅フォント設定の為ではないか、と思いますが、
それを解除する初期設定項目もないので難しそうですね。

明確な解決案は思いつきませんが、
例えば、EmacsからStataを操作することが出来れば
うまくいきそうな気がします。

以前試そうと頑張ってみましたが途中で諦めました。

あと、Font関連では、ギリシャ文字や±などの特殊文字もStataで表示させるのは
難しいようですね。
既存のフォントを入れ替えて表示させる方法がどこかにありましたが、
また見つけたらリンクを貼ります。


153 :132人目の素数さん:2011/05/06(金) 22:39:02.59
>>152
早速のお返事ありがとうございます。
うまくいかないものなのですね。

どうしても、日本語を使いたいときは、
教科書体でがんばってみたいと思います。


154 :132人目の素数さん:2011/05/11(水) 00:21:35.86
stataのマニュアルは購入しなければならないのでしょうか。
time serisとpanelのマニュアルが取得したいのですが。。

155 :ごろ:2011/05/12(木) 11:41:33.04
>>154
はっきり覚えていませんが、紙のマニュアルは無かったと思います。
しかし、オンラインマニュアルや、ソフト付属のマニュアルも
英語ですが、なかなか詳しいです。
プリントしてあるマニュアルは買わないといけないと思います。

156 :ごろ:2011/05/12(木) 11:43:03.43
>>155
あ、私も紙のマニュアルがあるときっと便利なんだろうなぁと思いながら、
ついつい、Googleで済ませてしまってここまで来ています。
あと、本当に困ったら、Stataの英語メーリングリストがあるので、そこで聞いていますね。

157 :ごろ:2011/05/24(火) 09:54:32.84
最近、Sleepsortという面白い記事を見つけたので、Stataでも出来ないかと
試し中。
しかし、バックグラウンドで関数を動かす方法が分からないのでつまづいています。
http://d.hatena.ne.jp/shinsuku/20110520/p1

158 :あんでぃはアホ ◆AdkZFxa49I :2011/05/29(日) 23:38:17.38
あんでぃ

159 :ごろ:2011/05/30(月) 00:21:16.77
どうやら、Stataには二つの関数を同時にうごかす方法はないようです。
残念!

160 :ごろ:2011/06/29(水) 16:49:52.89
pwcorrコマンドの結果をreturn listで見るとmatrixがあるんですが、
このmatrixの扱いが良くわからない。
matrixの要素だけを取り出してdisplayする方法はあるのでしょうか?

161 :132人目の素数さん:2011/07/03(日) 14:22:31.00
ヴァージョン12が25日にでますね。
共分散構造分析ができるようになりますね。
アップデートしたいが、先立つものがない・・・

http://www.stata.com/stata12/

162 :132人目の素数さん:2011/07/08(金) 10:53:39.06
このソフトいれてみたけどなんでまともにデータファイルが読めないんだか
ふつーにエクセルぐらい読めよバカ

163 :132人目の素数さん:2011/07/10(日) 08:46:36.61
>>162の率直な意見を取り入れてstata12ではExcelファイルを読めるようになりますた

164 :132人目の素数さん:2011/07/11(月) 11:23:03.75
まったくとろい会社だな。

165 :132人目の素数さん:2011/07/15(金) 11:24:37.13
STATAって貧乏人のSASですか?

166 :ごろ:2011/07/17(日) 09:34:11.52
>>162
まぁ、Excel側でCSVファイルで出力すれば言い訳だから、そんなに困んないけどね。

167 :132人目の素数さん:2011/07/19(火) 15:04:48.01
急いでる時にわざわざExcelでセーブしなおすのは結構面倒だぜ。なにせ
俺様売れっ子だから

168 :132人目の素数さん:2011/07/19(火) 23:13:24.38
>>165
プログラムの書けない奴のRだと思う

169 :132人目の素数さん:2011/07/19(火) 23:49:35.33
>>168
Rって書ける、書けない、言うほどのものか?


170 :132人目の素数さん:2011/07/31(日) 08:11:01.67
>>169は優秀なスレストッパー(ニヤリ

171 :132人目の素数さん:2011/08/02(火) 12:16:30.64
>>161
ようやくSEMができるようになったか。
Stata 11を入れたばっかりだけど、買おうかなー。

172 : ◆YeNleXj6MwwY :2011/08/15(月) 01:19:56.07
 |>、__ /|フ
  〉。, o く /\
  b 〜 O ヽ〉 /
  (>  <ノ ∨
  (、_(、 ノ
   ̄    ̄

173 :ごろ:2011/08/16(火) 23:39:50.80
おー。昨日アクセスできなくて落ちてしまったかと思った。

174 :ごろ:2011/09/12(月) 00:37:57.76
保守

175 :ごろ:2011/09/13(火) 02:31:02.76
そろそろまたやりますよ。

176 :132人目の素数さん:2011/09/14(水) 19:53:32.28
 |>、__ /|フ
  〉。, o く /\
  b 〜 O ヽ〉 /
  (>  <ノ ∨
  (、_(、 ノ
   ̄    ̄

177 :132人目の素数さん:2011/09/25(日) 09:19:35.91
試用はできないんですか?

178 :ごろ:2011/09/25(日) 14:16:20.84
>>177
試用できないのかな?オンラインではないし、聞いたことないなぁ。大学とか知り合いで使っている人がいれば一番いいんですけどね。

179 :132人目の素数さん:2011/09/25(日) 22:22:05.78
日本の代理店も本家も探してみましたが、ありませんでした。
SEMはどんな感じかなと思いまして。
AMOSはお絵描きでできると言えば簡単そうなんですが、誤差変数を忘れずに入れろとか、
制約を適切に入れないといかん、とか実は結構面倒なので。
毎年のお布施も結構かかりますし。
Stataはぱっと見た感じでは、核となる部分さえ入力すればいいように見えたものですから。

180 :猫は熾猫 ◆s9Thv0XHxQ :2011/10/01(土) 11:42:22.56


181 :132人目の素数さん:2011/10/01(土) 18:21:49.01
>>179
12買ったけど、その機能はまだ使ってないっす。
いじくる暇を見つけたらレポートします。

182 :ごろ:2011/10/04(火) 23:06:51.89
>>181
おお、12買ったんですね。いいなぁ。
レポートよろしくお願いいたします。

183 :ごろ:2011/10/07(金) 12:53:48.80
NetCourse 152始まりました。
また日記形式で綴っていきたいと思います。

184 :177=179:2011/10/10(月) 20:48:18.79
Stata/ICという一番下のクラスのを買いました。
とりあえずauto.dtaというファイルで、mpgとweightとforeignで回帰分析してみました。
次に、SEMのお絵描きで、mpg<-weightとmpt<-foreignの2本の矢印のみを描いてEstimateしてみると、
同じ結果が得られました。誤差変数の○を書き足したり、制約を入れる必要もない、という手軽さ。

どの程度使えるものか、少し試してみます。

185 :132人目の素数さん:2011/10/11(火) 00:54:36.90
新参初心者ですが、STATAっていくらから購入可能なんですか?

186 :132人目の素数さん:2011/10/11(火) 23:41:01.11
>>185

ステータス(学生なのか、一般なのか)、住んでいる国、
パッケージプランなどによって大きく違いますよ。
日本であれば、ライトストーンという会社が正規ディーラー(?)として
ライセンス委託され、Stataの代わりに販売をしているようなので、価格表は以下を参照してください。
(私は日本に住んでいないため、この辺の事情は詳しくありません。)

一般:ttp://www.lightstone.co.jp/stata/price.htm
学生:ttp://www.lightstone.co.jp/stata/gradplan.htm

一般の方であれば、最新のStata 12 IC(一番下のクラス)が52,500円、
学生の方であれば、同製品が21,000円です。

一番安いのは、おそらく学生用のStata 12 smallで6,825円ですが、
1年間しか使えませんし、扱えるサンプルの数にも大きな制約があるようです。

「お金が無くてそんなに出せない!」って言う人は頑張ってRを使いましょう。
最近は入門書も充実してるみたいですしね。

187 :132人目の素数さん:2011/10/12(水) 00:51:08.07
>>186
ありがとうございます。

188 :132人目の素数さん:2011/10/13(木) 12:02:44.59
>>184
どーも、なんだか、先を越されてしまいましたね。
買ったはいいが、まだまだまともに使えてないもんで。。。

Stata 12では、marginsplotという限界効用のグラフを書くのに便利なコマンドが搭載されたようです。
11までは、marginsで算出した結果を一度マトリクスに書きだして、
その情報の一部を取り出したり移し替えたりしてグラフを作っていたので、
今度は大分便利になってるはずです。

まだ使ってないのですが、何か分かったらここに書きます。


189 :184:2011/10/13(木) 19:02:19.15
>>188
いやいや、色々教えてください。Stataは初めてです。

で、次に、mpg<-weightとmpt<-foreignと直接矢線を入れず、潜在変数を作って、
その潜在変数に対してweightとforeignから矢線を引いたところ、これも攪乱項を自動的につけてくれました。
で、潜在変数からmpgに矢線を引いてお絵描きは完了。

これで実行すると、名前のない変数があるよ、との指摘。
さすがにそこまで手抜きは許してくれないようです。
潜在変数をf1という名前にして、もう一度。今度はIterationが止まりません。
f1についた攪乱項のVarianceを1にとめて実行すると、ようやく推定完了です。

ただ、探し方が悪いのか、適合度の指標について、GFIやAGFIという表記がありません。
マニュアルを読まないといかんようです。

190 :184:2011/10/29(土) 15:19:56.64
その後、いろいろと探索中。
適合度の指標としては、RMSEAとCFIが算出されます。AIC、BICも出ますね。
RMSEAについては、Probability RMSEA <= 0.05が出てます。これはいいかも。
TLIというのはあまり聞かない。
SRMS(Standardized root mean squared residual)というのと、CD(Coefficient of determination)というのも出てます。
return listやereturn listで返されるものからGFIを計算する方法がないか、調べ中です。
finditしてもちょっとわかりませんね。
あと、コマンドで指定する方法もわかりましたが、これをSEMビルダーというお絵描きの方に反映できればいいのですが。
ちょっと難しいか。

191 :184:2011/11/05(土) 11:06:50.82
遅々として進みませんが、気付いたことを。
regとかlogitとかの基本的な分析コマンドも
adoファイルとして提供されてるんですね。
読んでもちっともわかりませんが。

192 :132人目の素数さん:2011/11/08(火) 11:03:18.08
>>191

私もStataプログラムの構造的な話はよく分からないのですが、
確かに、分析コマンドは全部adoファイル経由だったと思います。
ただ、後から追加されたものと、基本的な分析用のファイルとでは格納場所が違うようです。

まぁ、分析する上ではあまり気にされなくてもよいと思います。

193 :ごろ:2011/11/10(木) 13:12:01.34
NetCourse 152記録
だいぶ遅れてしまいましたが、ぼちぼちやります。
Lecture1 1/6 前回レクチャー(NC-151)のレビュー
基本的な内容
ポイントは、例えばmytestというプログラムに
syntax [varlist] [if]
と書いてある時
mytest 変数1 変数2 if 変数2==0
と入力すると
このコマンドを実行した瞬間に
マクロ`0'には”変数1 変数2 if 変数2==0”がスペースの数も含めて入力されたまま
マクロ`1'には"変数1"
マクロ`2'には"変数2"
マクロ`3'には"if"
マクロ`3'には"変数2==0"
が代入されて、
プログラムの中の
syntax [varlist] [if]
が実行された後初めて
マクロ`varlist'には"変数1 変数2"
マクロ`if'には"if 変数2==0"
が代入されるということ

194 :ごろ:2011/11/10(木) 13:12:16.49
2/6 Parsing(構文解析)
結局ここから延々とSyntaxコマンドの解説が始まる。
マクロ`0'はスペースを含めて、入力したまま
マクロ`*'はスペースは一つに調整される。
Sample code
program sample0
syntax [varlist] [if]
di "line1 " "`varlist'"
di "line2 " "`if'"
di "line3 " "`0'"
di "line4 " "`*'"
end

実行結果(bbb,ccc,dddの変数を定義しておく必要あり)
sample0 bbb ccc ddd if ddd==5
line1 bbb ccc ddd
line2 if ddd==5
line3 bbb ccc ddd if ddd==5
line4 bbb ccc ddd if ddd==5

195 :ごろ:2011/11/10(木) 16:15:23.29
2/6続き
syntax コマンドの後、要素を書かないと使えない。[ ]に入れるとどちらでも良い、直接書くと、必須になる
ex. syntax varlist [if]
と書くとvarlistは必須、ifはどちらでもOK、その他の例えばbyとかは使えない
syntax [varlist]でプログラムコマンドの後変数名を省略すると
Stataはデータセットの全ての変数を入力したものとして取り扱う。
これは、syntax[varlist(default=none)]で変更出来る。
細かいことは全てhelp syntaxに書いてある!!

3/6 Parsing options
syntaxコマンドの,(カンマ)以降はオプションになる。
オプションにはどんな名前も指定できて例えば
syntax ・・・,[nandemo]
とすると、
プログラム名 変数名, nandemo
と入力すると
マクロ`nandemo'にnandemoが入力される
nandemo以外の文字を入れるとエラーになる
オプションを指定しないと
マクロ`nandemo'は""が入力される
また、オプションのマクロ名はNANdemoなどとsyntaxで指定することにより
プログラム実行時にnandemoと全て入力しなくてもNANで入力OKになる。
また、noからはじまる(大文字NOならOK)オプション名は使えない
プログラム実行時にオプション名を大文字にするとエラーになる。
nonandemoとオプションを指定すると
マクロは`nandemo'が作られて、nonandemoと入力された時のみ
マクロ`nandemo'にnonandemoが代入される。それ以外は""が代入される。
ここはややこしいところ。

196 :ごろ:2011/11/13(日) 00:26:51.92
3/6続き
オプションは更にオプション名( )でオプションの性質を指定できる。
help syntaxの中に詳細な説明があるが、レクチャーでは次の8つの解説
integer 整数を指定 初期値設定可
real 実数を指定 初期値設定可
string 文字列を指定 
varlist 1から複数の変数名を指定。ない変数名を入力するとエラー
numlist 数列を指定
passthru
namelist を指定
cilevel を指定


197 :ごろ:2011/11/13(日) 00:27:31.09
>>196は書きかけだった

3/6続き
オプションは更にオプション名( )でオプションの性質を指定できる。
help syntaxの中に詳細な説明があるが、レクチャーでは次の8つの解説
integer 整数を指定 初期値設定可
real 実数を指定 初期値設定可
string 文字列を指定 初期値設定不可
varlist 1から複数の変数名を指定。無い変数名を入力するとエラー
numlist 数列を指定
passthru stringに似ているがオプション名と( )も含めてユーザーが入力したものを返す。
namelist 1から複数の変数名を指定。新しい変数名や未定義の変数名、マトリックスも扱える
cilevel 信頼区間の範囲を指定 初期値は95となっている 指定できる値は10-99.99

オプションに*をつけると、optionsというマクロに使われなかった残りの文字列が代入される。

4.複雑なsyntax構文解析
ttestの3つのパターンttest varname==#(数字), ttest varname1==varnmae2, ttest varname, by(groupvar)の
3種類を例にして解説

今は不必要になったtokenizeコマンドの解説 varlistを`1',`2'・・・というマクロに代入し直す。
syntax varname [=/exp]
/をつけると=なしで`exp'に論理式が代入される。/がないと先頭に=とスペースが入る

ttestの3つのパターン分けにifと次の構文を使う
syntax rvarnmae [=/exp] ・・・
capture confirm number `exp'
`exp'が数字のみならcaptureで得られたエラーメッセージがないため_rc==0となる
エラーが出るとエラー番号の7が代入されて_rc==7となる
(confirm numberコマンドは、次に来る変数が数字かどうかを判定するコマンド)


198 :ごろ:2011/11/13(日) 03:32:43.61
5.subprogramの話
.adoファイルの中でいくつもプログラムを定義することが出来るが、その中で定義されたサブプログラムは、
.adoファイルの中でしか使われない。
調べるためにはprogram dirを実行する。
例えば、mytest.adoファイルの中にsubprogramなどがあると、
mytest.suprogram
mytest
と表示される。

6.Exercises
忘れていたが、Stataには予め使えるデータセットがある。help datasetなどでチェック可。
使う場合は、例えばauto.dtaデータセットならば
sysuse auto.dta
で使える。
Exerciseは4問あり、最初の2問は簡単。
3問目は、95%CIを自分で計算するもの。
4問目は、stataのif文は融通が効かないのでしっかり書かないとエラーを起こす。
ex.
if `var'=="" { di "nothing" } else { di `var'}
ではダメで
if `var'=="" {
di "nothing"
}
else {
di `var'
}
と書かないとダメ。
やっとLecture1終わった。


199 :ごろ:2011/11/13(日) 11:17:27.43
Lecture2 1/8
1. Quotes
set trace on でエラーの箇所を調べる
netCourse 151にもあったと思うが、
代入される文字列に" "が入ると混乱するため`" "'を使うという内容

2. 続き
Lecture1からの続きで3つのタイプのttestを行うコマンドを自分で作成する。

3. Temporary variables
プログラム内で計算をするために新しい変数を作成する場合は、
gen double 新しい変数名
を使う。これだと最も高精度で計算をする。

プログラム内のみで使う変数には
tempvar 変数名
を使う。
変数名には__000001のような名前が付けられるが、
プログラム内ではユーザーは上記で指定した変数名が使える。

4.続き
エラーの出し方
if "`by'" == {
display as error "by() required"
exit 198
}
error 198はsyntax error を意味する。しかし0以外ならOK

assert 論理式
論理式が真なら何も返さず、偽ならエラーコードを返す。


200 :ごろ:2011/11/13(日) 11:30:44.15
5. r()について
プログラム/関数を実行したときに返す値はr(N)などに格納される。
このリストを調べるにはreturn listを使う


201 :ごろ:2011/11/15(火) 16:39:40.53
Lecture2-6 式のプログラミング
[if/]でif がマクロ`if'に入力されなくなる。
markとmarksample
mark 変数名
を実行すると全て1の変数が作成される。
mark 変数名 if 論理式
論理式に合うものは1,合わないものは0にコードされた変数名が出来る。
marksampleは新しく変数を作成しない方法。
markで変数名を作成したくなければtempvarを前もって使う。
marksampleはifが使えないので使いたい時には次の行でreplaceコマンドを使う。
program sampleone
syntax [if][in]
marksample tempvarname
di `tempvarname' in 1/50
end
と作成し
sysuse auto.dta
sampleone if mpg <20 in 10/20
とすると、10-20の中でmpgが<20以下のものはtempvarnameに1、そうでないものは0がコードされる。

markはsyntaxコマンドと一緒に使っても上記のようにならない。
ちょっと違いについて混乱中
7はコードのまとめ
8は練習問題


202 :ごろ:2011/11/18(金) 12:29:38.95
Lecture2-8練習問題
1. マクロ`by'でなく`"`by'"'を使う理由
2. program define プログラム名
通常はdefineは省略できるが、例えばdefineという名前のプログラムを作る場合などには必要。
varlist(min=2 max=2)とすることでvarlistの数を2つに特定できる。
predictコマンド
直前にregressなどを実行すると、その結果に基づいて新しい変数名に予測値が保存される。
tokenizeの有用性
varlistを使う時、tokenizeを使わないと何故かvarlist名の後ろに,(カンマ)も入る。
これはプログラムにエラーを起こす原因になりうる。
3. オプションsaving(ファイル名) or saving("directory/フアイル名",replace)で
ファイルが保存される。
4. linear regressionではなく、二次式で回帰分析をやる手法の解説


203 :ごろ:2011/11/18(金) 14:25:35.30
5. は長いが、結局二次式による回帰分析の結果を示す方法について書かれている
新しい話は無し。
6. エラー表示のさせ方
エラーコード301はlast estimates not foundという意味らしい
[P]errorに解説がるらしい。
7.if文で条件分けして結果を表示させる問題
8. optionにnoConsを使って結果の一部を表示させないオプションを作る問題。
noConsによってconsマクロに入るものが何かを考えること以外は平易。
Lecture2終了

204 :ごろ:2011/11/19(土) 00:14:17.52
Lecture3 1/12
1. 何を学ぶべきか
syntaxコマンド, localマクロ(`',"`'"の使い分け),
サブルーチンをマスターする。
マクロに分かりやすい名前を付ける。
単純なプログラムを長く重ねることでちゃんと動くプログラムを作る。

2. Scalars
Scalarsとマクロの違い
scalar x=2    local x=2
di x di `x'
左と右は同じ結果が出る
マクロはどこでも使えるのでtt_`x'というようにも使える。

注意! Stataでは同じ文字列に3種類の可能性があり、それぞれ別のものを代入出来る。
1. 変数名 2. Scalar 3. マクロ
マクロは`'で区別がつくが、1と2は区別がつきにくい。

scalar x=1
di x /* 1 と表示される */
input x /*変数xの定義開始*/
2
3
end /*変数xに一つ目に2,2つ目に3を代入*/
di x /*変数xがある場合には変数xの最初の値2を返す*/
di scalar(x) /*しかしscalarのxも残っていて、これで呼び出せし1と表示*/



205 :132人目の素数さん:2011/11/19(土) 13:19:11.95
魂は幾何学です
誰か(アメリカ)気づいた
ソウルコピー機器
無差別で猥褻、日本は危険知ったかブッタの日本人が失敗作

↓テロ資料です。

206 :132人目の素数さん:2011/11/19(土) 13:19:49.31
電波テロ装置の戦争(始)
エンジニアと参加願います公安はサリンオウム信者の子供を40歳まで社会から隔離している
オウム信者が地方で現在も潜伏している
それは新興宗教を配下としている公安の仕事だ
発案で盗聴器を開発したら霊魂が寄って呼ぶ来た
<電波憑依>
スピリチャル全否定なら江原三輪氏、高橋佳子大川隆法氏は、幻聴で強制入院矛盾する日本宗教と精神科
<コードレス盗聴>
2004既に国民20%被害250〜700台数中国工作員3〜7000万円2005ソウルコピー2010ソウルイン医者アカギ絡む<盗聴証拠>
今年5月に日本の警視庁防課は被害者SDカード15分を保持した有る国民に出せ!!<創価幹部>
キタオカ1962年東北生は二十代で2人の女性をレイプ殺害して入信した創価本尊はこれだけで潰せる<<<韓国工作員鸛<<<創価公明党 <テロ装置>>東芝部品)>>ヤクザ<宗教<同和<<公安<<魂複<<官憲>日本終Googl検索

207 :132人目の素数さん:2011/11/22(火) 00:52:44.75
>>205-206
完全にスレ違いだろ。。。
ガイドラインは無いけど、ちゃんと空気を読んでから投稿してね☆

208 :132人目の素数さん:2011/11/22(火) 22:32:56.09
>>202の4.と>>203の5.はどんな話?

209 :ごろ:2011/11/23(水) 03:11:07.57
Lecture3 1/12
1. 何を学ぶべきか
syntaxコマンド, localマクロ(`',"`'"の使い分け),
サブルーチンをマスターする。
マクロに分かりやすい名前を付ける。
単純なプログラムを長く重ねることでちゃんと動くプログラムを作る。

2. Scalars
Scalarsとマクロの違い
scalar x=2    local x=2
di x di `x'
左と右は同じ結果が出る
マクロはどこでも使えるのでtt_`x'というようにも使える。

注意! Stataでは同じ文字列に3種類の可能性があり、それぞれ別のものを代入出来る。
1. 変数名 2. Scalar 3. マクロ
マクロは`'で区別がつくが、1と2は区別がつきにくい。

scalar x=1
di x /* 1 と表示される */
input x /*変数xの定義開始*/
2
3
end /*変数xに一つ目に2,2つ目に3を代入*/
di x /*変数xがある場合には変数xの最初の値2を返す*/
di scalar(x) /*しかしscalarのxも残っていて、これで呼び出せて1と表示*/

210 :ごろ:2011/11/23(水) 03:24:28.13
Lecture3
2. Scalars続き
programの中で
args マクロ名1 マクロ名2 ・・・と書いて
program名 インプット1 インプット2 ・・・と実行すると
それぞれローカルなマクロ名1にインプット1が入力される。

次は、backslashの話
日本語環境のStataではこの辺りはややこしい話題
backslashとYen記号問題も絡む。
実際backslashでDoファイルに入力して保存すると、
次開くとYen記号になったり、?マークになったり、
なぜかIに置き換わったりと挙動不審。

ここの解説ではエスケープ記号としてbackslashを使う場合、
マクロにちゃんと入力するにはmacval()コマンドを使う。
そうでなければローカルScalarとして入力することが解説されている。

211 :ごろ:2011/11/24(木) 06:21:57.28
Lecture2-3続き
macval()コマンドの使い方
local mymacro=`"Nakamiha Nandemo OK.For example \$ sign"'
di "`macval(mymacro)'"
でOK

2-3 Binary accuracy
コンピュータの2進法で計算するために起きてくる問題の話。
具体例が挙げられている。
それを避ける方法としてscalrを使う方法の解説

212 :ごろ:2011/11/25(金) 15:00:09.14
>>211のLecture2-3続きはLecture3-2続きの間違い
Lecture3-4
マクロとscalarとどちらが正しいか?
マクロは12桁まで、Scalarは16桁までなのでScalarがより正確
迷うならScalarを使っておけということ!?

213 :ごろ:2011/11/25(金) 20:15:31.35
Lecture3-5は、マクロで書いていたプログラムをscalarで書きなおす説明

quietly sum `varlist'
local xbar=r(mean)
なら
tempname xbar
quietly sum `varlist'
scalar `xbar`=r(mean)
となる。

3-6. byオプションの使い方
変数xの数を数えるテクニック

tempvar n_variable
sort x
quietly by x: gen `n_variable' = 1 if _n==1
quietly replace `n_variable' = sum(`n_variable')
di `n_variable'[_N]
欠損値もひとつの変数と数えるので注意

Lecture3-7
program プログラム名, sortpreserve
プログラムの記載
end
これでこのプログラム内でsortを使ってもプログラム終了後は順番が元に戻る。
しかし、必要な時のみ使うこと。

214 :ごろ:2011/11/25(金) 20:16:44.10
Lecture3-8
8. Low-level parsing
tokenize "文字列", parse("区切り文字のリスト")
これを実行すると区切り文字で文字列を分割し、前からマクロ`1'`2'へ代入していく

tokenize "abc+d efg+3*8", parse(" +*")
di "`1'" -> abc
di "`2'" -> +
di "`3'" -> d
di "`4'" -> efg
di "`5'" -> +
di "`6'" -> 3
di "`7'" -> *
di "`8'" -> 8
di "`9'" ->
di "`10'"->
tokenize "文字列"
parse以下を省略した場合は,parse(" ")と同じでスペースで分割となる。
スペースで分割してもスペース自体はマクロには代入されない。
スペースは重複してもひとつのスペースと同じく扱われるが、スペース以外の区切り文字では、その回数分マクロに代入される。

レクチャーと関係ないが
inputコマンドについて
文字列を入力する時は、str3 文字列変数 と指定する必要がある。strの後ろの数は文字列の数
欠損値は.で入力


215 :ごろ:2011/11/25(金) 20:24:24.96
>>208
見逃していました!
このレクチャーはプログラミングが主体のレクチャーなので回帰分析の細かい手法の正否は分かりません。
概要は次の通りです。

例えばsysuse autoのデータで行うとすると
mpg= a*weight^2+b*weight+c*foreign+d
という二次式の回帰曲線モデルを考えます。
この変数a,b,c,dを
gen weight2=weight*weight
regress weight2 weight foreign
として、変数を決めていく手法が詳細に説明されていました。


216 :ごろ:2011/11/25(金) 23:43:18.19
Lecture3-9
9. Programming immediate commands
気が付かなかった。プログラム名は大文字小文字を区別する。
macro shift 数
`1' `2' `3' `4'とあると
macro shift 2
とすると`1' `2'が削除されて`3' `4'がそれぞれ`1' `2'になる`0'には影響しない。

3-10
10. Rewriting mytt in terms of mytti
これまで学んだことの応用問題
プログラムの中に小さなプログラムを組み込むことでわかりやすくすることと、
プログラムを変更する時に、同じ動作部分はひとつのプログラム(サブルーチン)に
まとめることで、一つの修正で全てが修正できるようになるという内容

3-11
11. Parsing new variables
syntax newvarnameコマンドで新しい変数を作成する方法
途中でbreakした時に不完全な新しい変数が出来るのを防ぐ方法
一時的な変数名を作成して、全てが終わった後、新しい変数名に変更する。


217 :ごろ:2011/11/26(土) 00:06:54.14
Lecture3-12
練習問題
大部分が自作tテストのプログラムの書き換え問題。


218 :ごろ:2011/11/26(土) 01:25:15.02
やっとLecture4 1/14
4-1. Where are we?
このレクチャー3までのまとめ

4-2. Saved results
program プログラム名, rclass
とすることでこのプログラムがreturn listで
r(N)・・・などの値を返す様になる。
programの中にreturn listを返すようなプログラム(例sumなど)を使うと
return addを加えることでプログラム中に最初に実行した結果がr(N)・・・に
入力される。
自分で出力させたい値を作る場合は
プログラム中に
return scalar 名前 = 値で
r(名前)=値と表示されるように成る。
returnコマンドはプログラム中のどこに置いても良い

4-3. What can be returned in r()?
scalar, macro, matrixが返せる。

mac osxの場合
matrix A = (1,2\3,4) ではダメで
matrix A = (1,2\3,4) でないといけない。

4-4. Referring to returned results in other programs
di _nで改行
mat lsit A /*Aはmatrix行列名 */
でmatrixそのものを表示

4-5. Referring to returned results in the program that sets them
r()はプログラムの最後に代入される。return(sum)などはプログラム途中でも
代入される。

219 :132人目の素数さん:2011/11/26(土) 19:42:35.40
>>215
わかりました。
ただ、それは、weight*weightではなく、c.weight#c.weightという項を入れるといいんですよね。

220 :ごろ:2011/11/27(日) 01:02:59.86
4-6. Other types of returned values: s() and e()
r() rclassとs() sclass e() eclassは同時には使えない

4-7. s-class returned values
プログラムの引数にr(mean)などr-classのコマンドが入ってくる
可能性のあるプログラムを作成する際、r-classでプログラムを作成すると
不具合が生じることがある。そのためにs-classは存在する。
しかし、使用頻度は稀。s-classはマクロにしか値を返せない。
substr(文字列,左から何文字目か(-をつけると右から),何文字取るか)
substrコマンドで文字列から指定した文字数のみ取り出せる。

4-8. e-class returned results
e-classはregressコマンドなどの結果を表示するclass
e(cmd) コマンドそのもの
e(ll) the log-likelihood value
e(b) the coefficient value
e(V) 変数マトリックス


221 :ごろ:2011/11/27(日) 01:08:16.72
>>219
ありがとうございます。
ちなみに
>>215
> regress weight2 weight foreign
> として、変数を決めていく手法が詳細に説明されていました。
regress mpg weight2 weight foreign
mpgが抜けていました。

222 :SEMやってます:2011/11/28(月) 23:16:18.42
何レスか前にSEMを始めた者です。
大石展緒・都竹浩生『Amosで学ぶ調査系データ解析』の1章にあった、
食物摂取と、大腸ガン、直腸ガンの関連のデータで、同じようにして推定してみようと思ったのですが、推定できません。
このデータ自体は豊田・前田・柳井『原因をさぐる統計学』(1992)のデータだそうなのですが。

総熱量→洋食傾向(潜在変数)
肉類→洋食傾向
乳製品→洋食傾向
酒類→洋食傾向

総熱量・肉類・乳製品・酒類にすべて共分散

洋食傾向→下部消化管のガン傾向(潜在変数)

下部消化管のガン傾向(潜在変数)→大腸ガン
下部消化管のガン傾向(潜在変数)→直腸ガン

で図を描くと、攪乱項を自動的につけてくれるので、その状態ですべてデフォルトでEstimationするものの、エラーが出ます。

「洋食傾向」を削除し、潜在変数を「下部消化管のガン傾向」一つにしてやってみると、推定完了しますが、文献とは数値が合いません。

もう少し調べます。

223 :132人目の素数さん:2011/11/29(火) 17:24:16.59
>>222

同書を見たことが無いので、詳しいことは分かりませんが、エラーは何と出ているのでしょうか?

洋食傾向(潜在変数)は実際に計量された変数から導き出されているようですが、
下部消化管のガン傾向(潜在変数)は、洋食傾向と同様、計量された変数によって
作られている潜在変数でしょうか?

下部消化管のガン傾向(潜在変数)を構成している変数の指定はあっていますか?

224 :132人目の素数さん:2011/11/29(火) 22:18:55.99
>>223
レスどうもです。
中部大学の小塩さんのページ
http://psy.isc.chubu.ac.jp/~oshiolab/teaching_folder/datakaiseki_folder/add_folder/daad_02.html
の下から3分の1くらいのところにある「PLSモデル」と同じ形です。
このページでいうところの「知的能力」にあたる部分が「洋食傾向」で、「対人関係能力」にあたるところが「下部消化管のガン傾向」になります。
「知性」「信頼性」「素直さ」のところが、「総熱量」「肉類」「乳製品」「酒類」で、「外向性」「社交性」「積極性」のところが「大腸ガン」と「直腸ガン」になります。

エラーメッセージは、ダイアログボックスに、Estimation failedと出、メイン画面上には、
_sem_iv(): 3301 subscript invalid
_sem_build__params(): - function returned error
_sem_build(): - function returned error
_sem_parse(): - function returned error
st_sem_parse_and_build(): - function returned error
<istmt>: - function returned error
r(3301);
と出ています。

AMOSでは、「洋食傾向」(小塩さんの図では「知的能力」にあたる)にささる攪乱項を外すことができるのに対し、StataのSEMビルダー上では攪乱項を外すことができない、という状況です。
何か設定があるのか、コマンドでやればいけるのか、というのを調べるつもりなのですが、今日はそろそろ寝ます。

225 :SEM:2011/12/04(日) 19:57:51.01
どうもうまくいかないので、ちょっと違うことをして遊んでいます。
sysuse auto.dta
reg mpg weight foreign
で重回帰分析ができるわけですが、同様のことをSEMを使ってやってみますと、
clear
set more off
sysuse auto.dta
sem (mpg <- weight foreign) , nocapslatent
estat eqgof
disp "R2=" r(CD)
matrix eqf=r(eqfit)
disp "F=" (eqf[1,2]/(e(df_m)-2))/(eqf[1,3]/(e(N)-e(df_m)+2-1))
disp "p=" Ftail((e(df_m)-2),(e(N)-e(df_m)+2-1),(eqf[1,2]/(e(df_m)-2))/(eqf[1,3]/(e(N)-e(df_m)+2-1)))
set more on
ですが、推定方法が違うためか、若干数値に差が出ますね。

98 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50


read.cgi ver 05.05 2022/08/31 Walang Kapalit ★
FOX ★