
No.5ベストアンサー
- 回答日時:
No.4です。
見つけました!
作図例が無いことも、納得しました。
No.4で示したサイトのリンク先に、
『Confidence intervals for Tobit model in package AER in R』
https://stats.stackexchange.com/questions/169184 …
があります!
ここに書いてあるように、predict()関数で、予測区間も出力されるようです。
ただし、次のような注意書きがありました。まさにご質問者様が懸念されているお話ですね。
①は何を言っているかというと、y方向の誤差としては正しいが、x方向の誤差(どこで打ち切るかという値の誤差範囲)を正しく言っているのではない、ということです。
従属変数yが誤差を持つ式ですから当然ですね。
でも、幅を描いてしまうと、打ち切りの閾値の誤差範囲(横幅)だと読み取ってしまう人が出て来そうですね。だから作図例がないのでしょう。
~~~~~~~~~~~~~~~~~~~~~~
①「Rでの打ち切り回帰(リンクあり)」で前述したように、この手法は、打ち切り変数の期待値ではなく、潜在的な打ち切りなし変数の期待値を予測します。したがって、単に 0 でカットすることは理想的な解決策ではない可能性があります。predict() y.star y
②予測区間について:予測の推定標準誤差を取得する場合と同様に設定できます。predict(fit, se.fit = TRUE) predict.glm()
~~~~~~~~~~~~~~~~~~~~~~
私も大変勉強になりました。
特に、横幅を誤解する恐れがあることについて、教訓を得ました。
ありがとうございました。
No.4
- 回答日時:
No.2です。
回帰線の信頼区間は定石通りブートストラップでやると提案した者です。
その後調べていたら、トービットモデルの「回帰係数の信頼区間」(回帰線の信頼区間ではなく)を求める方法↓が出ているのを見つけました。(Rですが・・・)
https://stats.stackexchange.com/questions/338360 …
だったら、回帰係数をその区間で正規乱数で発生させ、大量のモンテカルロシミュレーションを行って大量の回帰線を引けば、回帰線の信頼区間が出るかな、と考えました。手間は同じですが・・・。
(というか、回帰係数の信頼区間も、実はブートストラップだったりして)
なお、予測区間については、この信頼区間に「回帰残差から計算される偶然誤差」を分散の加法性を使って乗せることになりますが、この誤差モデルについては、いまだ調査中です。
等分散モデルで良いのでしょうか。
でも、負の予測区間が出来てしまいますよね。
ところで、ご質問者様は「y=0部分にも信頼区間や予測区間を考えることは可能か」とご質問されていますが、それ以外の箇所は信頼区間や予測区間を求めた、ということですか?
ご回答ありがとうございます。
> ところで、ご質問者様は「y=0部分にも信頼区間や予測区間を考えることは可能か」とご質問されていますが、それ以外の箇所は信頼区間や予測区間を求めた、ということですか?
最尤法では未算出です。打ち切り考慮なしでOLSでは算出しました。等分散を仮定していますので、そうですね、打ち切っても予測区間が負数を含みますよね。。
No.3
- 回答日時:
> 降水量などのイメージかな
そういうのには、magnitudeを使いますね。降水量の対数を取ったのをデータとする。だから、降水量0というのはそもそもデータのうちに数えない。たとえば「千年に一度の大豪雨」なんて言っているのは、「降水量rの対数と、時間あたりの頻度の対数との両対数グラフを描くと大体直線になるよ」という経験則に基づいているわけで、これは
log(r) = a log(t) + b + ε
というモデル。だから
r = (t^a) exp(b + ε)
を考えていることになる。
ちなみに、これと似ていても、「基準値Cからの増分rの対数と、説明変数tの対数をプロットすると大体直線になる。ただし、残差εはtやrとは無関係な外乱によって生じている」ということだと、
r = (t^a) exp(b) + ε
というモデルであり、rは0以下になることもあるんで、正直に非線形モデルとして扱う。こちらのモデルは残差を「絶対誤差」として扱っているのに対し、大豪雨のモデルは残差を「rに対する相対誤差」として扱っているんで、rが大きいほど大きな残差を許している。このように、残差の発生メカニズムも考慮しないとモデルが決まらない。(もちろん、「信頼区間」を心配する以上は、当然そこも考えてあるはずですけれども。)
ところで、非線形モデルのパラメータ推定は反復計算をやるんで、その出発値を決めるのに線形モデルによる近似を考えるのは意味がある。すなわち、rが0以下であるようなデータを全部無視した上で、
a log(t) + b = log( r - ε) = log(r) + log( 1 - ε/r) ≒ log(r) - ε/r
より、
r log(r) = a log(t) r + b r + ε
という線形回帰をやれば出発値aが簡単に決められる。というわけで、非線形モデルにおいても、線形回帰は使いどころがあります。で、「rが0以下であるようなデータを全部無視」というところがTobitっぽいけれども、飽くまでも反復計算の出発値の決定をやっているに過ぎないんだから、この段階で残差の分布を心配しても意味がない。
> 被説明変数は「プログラムのバグ数」ベースの値
「小中学校の授業で児童100人を対象に、全員に同じお題を与えてプログラム作らせた。それぞれの児童について、いくつバグがあったか」という話ですら、バグの数を数えるのは困難でしょう。プログラムの体をなしていないシッチャカメッチャカな作品の「バグの数」なんて定義できないからです。やれるとすれば「各児童の作品が、予め用意したテストをパスするかどうか」の判定でしょう。すると、ロジスティックモデル(被説明変数はテストにパスする確率、説明変数はたとえば、国語の成績とか)を使うしかなかろう。
一方、実用的な大規模なプログラムのバグ数を数えるのも無理。テストして探してたんでは「バグはこれで全部」と宣言することは不可能で、program verification(プログラムの仕様を論理式で書いて、これをプログラムが満たすことを(数学の意味で)証明する)によるしかないのだが、実際にこれをやったという話は寡聞にして知らない。大規模なプログラムでは、そもそも「仕様を論理式で書」くのが大変だからです。
すると、もしかして「プログラムのバグ数」ではなく、「あるプログラムについて、(これまでに)見つかったバグ数」の話をなさっているのではないか。
そうだとすると、さて、線形回帰になっていて、かつナンセンスでないようなモデルなんてものが果たしてあるんだろうか。
たとえばテストに掛けたman・power xについて、
N = B(1 - exp(-x/A))
のようなモデルはよく使われる。(直接観測できない)「プログラムのバグ数」がパラメータBで、Aは「テストの効率の悪さ」的なものを表す。実測値N(x)がこのモデルによくfitする場合、パラメータを推定すると「いくつぐらいバグが残っているか」が推測できるからです。しかしこれは非線形のモデルだなあ。
…てなことを思ってしまう。どうもご質問の情報だけでは、寄り添って考えるのは難しいが、ま、いずれにしてもTobitとはあんまり関係なさそうな気はする。
ご回答ありがとうございます。
> 「プログラムのバグ数」ではなく、「あるプログラムについて、(これまでに)見つかったバグ数」
おっしゃる通り後者を構想していました。
手元のデータでは、一旦は線形関係が見出せていそうなのであとは0近傍の処理かと思っていましたが、、既存モデルの調べが足りていなかったので確認してみることにします。
詳細な回答を頂きまして、まわりに有識者が少ないこともあり、知見が広がり助かります。
No.2
- 回答日時:
ロジスティック回帰でも、y=0や1の部分に信頼区間の幅がありますので、トービットモデルでも回帰線がy=0になる時点でプラス側に信頼区間や予測区間がありますよね。
私はR使いなんですが、
RではAERパッケージでトービット回帰はできるようですが、predict()関数でconfidence intervalsが算出できるのかどうかは知りません。
たとえできなくても、OLS以外の信頼区間算出はブートストラップ法でできるので、私だったらブートストラップでやります。
プログラムを書かなければなりませんが・・・。
予測区間については方策が浮かびません。
誤差εが等分散仮定なら2乗和で出来そうですが、y=0でε=0に収束するのですよね。それに飽和状態もε=0ですよね。
誤差モデルはbinomialなんでしょうか?
No.1
- 回答日時:
Tobitと仰るからには「被説明変数が負の値の場合は観測できない」ってことかしらん。
その場合、観測できなかった(負に違いない)被説明変数の値がどんな分布に従うかがわからなければ、もちろん区間推定などできない。しかし、もし分布のパラメータの値まで含めて理論的に分かっているのなら、当然、それを使って区間を推定できる(そんな状況は滅多にないだろうけど)。しかし、被説明変数が非負である部分についてはフツーの推定は観測したデータの経験分布(正規分布などで近似して扱うかどうかはどっちでもよくて、ともかくそれ)を使って行うんだとしますと、両者のやり方が全然違うので、少なくともこれらをごっちゃにしてプロットするのはおかしいでしょう。一方、もし「打ち切り」と仰るのが、「被説明変数が負の値の場合も観測できているにもかかわらず、回帰モデルのパラメータを推定するにあたって、被説明変数が負の値を全部"データの欠落"とみなして強制的にTobitで扱う」という話だとしますと、こんな変なことはまずやらない(∵ 推定した回帰モデルにバイアスが入る)んだけれど、「いや、負の時には観測がメチャクチャ不安定でデータがまるで信用できんのだ」というような事情があれば、ま、分からなくもない。被説明変数が負の値の部分についてもデータがあるんですから、経験分布を使ってフツーに区間推定をすれば答は得られる。しかし、もしそのデータがまるで信用できんのであれば、それを使って推定した区間なんて、わざわざやるだけの意味はない。
詳細なご回答ありがとうございます。理解が進みました。
被説明変数は「プログラムのバグ数」ベースの値(非負の実数)でして、「負の値の場合は観測できない」と言うよりは、説明変数が一定以下では、多くは0(しばしば正の実数)が観測されている、という状況になります。
降水量などのイメージかなと思います。0も実際に観測される値と言う意味ではtwo-part modelなどがより適するのかもしれませんが、一旦Tobitで考えていたところでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(0,1)=[0,1]?
-
長良川鉄道の区間で、やたらに...
-
PASMO履歴照会 定期区間...
-
Google「ナビ」を信じると原発...
-
手持ちのSuica定期券の区間を変...
-
定期を忘れたとき
-
アンチコメントに反応する動画...
-
新入社員の定期代についてです...
-
定期券で○○経由というとこでそ...
-
パソコン本体にマグネットをつ...
-
定期券を忘れて支払った料金は...
-
通学定期の区間を短くして購入...
-
Suica定期を使い目的地まで行き...
-
定期券外分の運賃を計算したい。
-
「定期」に対立する語は「不定...
-
通学定期券の経由駅などについて
-
行きだけ車で乗せてってもらい...
-
未だに、ネット用語の「定期」...
-
モバイルICOCAについて質問です...
-
通学定期の利用路線の変更
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
(0,1)=[0,1]?
-
定期券は区間外だと料金が発生...
-
長良川鉄道の区間で、やたらに...
-
JRの定期券 障碍者割引について
-
手持ちのSuica定期券の区間を変...
-
jrの北近畿方面はまだICOCAが導...
-
Suica定期は2枚持てない?
-
"one leg of the trip"
-
平均変化率の信頼区間
-
suica定期券について
-
ICOCA定期2枚での乗り越し
-
この道路、車で通れますか。(...
-
c言語の問題について至急教えて...
-
金券ショップで売っているJR回...
-
フーリエ級数
-
Tobitモデルでの信頼区間(予測...
-
suicaの定期券の利用法
-
自動二輪車の高速道路2人乗り。
-
【1区特別回数券】と【回数カ...
-
理科の記録タイマーの速さの問...
おすすめ情報