井出草平の研究ノート

ベイジアンロジスティック回帰分析・その3

HardinとHilbeのStata本にあるベイジアンロジスティック回帰分析の続き。今回は事前分布としてコーシー分布を使う方法についてである。

1回目エントリはこちら
2回目エントリはこちら

Generalized Linear Models and Extensions: Fourth Edition

Generalized Linear Models and Extensions: Fourth Edition

情報事前分布

先の2つのエントリーでは無情報事前分布(non-informative prior distribution)を用いてきたが、今回は情報事前分布(informative priors)を利用する。

センタリングした変数は医師の訪問cdocと年齢cageの2つで、この2つの変数をコーシー事前分布(Cauchy priors)を用いて推定する。ベイズ事前分布は堅実な外部情報に基づいている必要がある。ベイズ推定のように、既に同じようなものを計測していると、より確かな推定値が得られる。コーシー分布が堅実だと言い切れるかというとそうではない。実際に推定して推定結果を比較してどちらが良いか、比較することになる。

下記のケースでは推定の際に、任意の値をspecificationととして用いることで、デフォルトとは異なる推定を行う。 コーシー分布の理論的な説明は後ほどするとして、先にStataでの使用方法について述べていこう。

コーシー分布をベイジアンロジスティック回帰

Stata15以降の機能である。

. bayes,
> prior({outwork:female kids _cons}, normal(0, 1000))
> prior({outwork:cdoc}, cauchy(0,6))
> prior({outwork:cage}, cauchy(0,11))
> rseed (35841): glm outwork female kids cdoc cage, family(binomial)

Model summary
------------------------------------------------------------------------------
Likelihood:
  outwork ~ glm(xb_outwork)

Priors:
  {outwork:female kids _cons} ~ normal(0,1000)                             (1)
               {outwork:cdoc} ~ cauchy(0,6)                                (1)
               {outwork:cage} ~ cauchy(0,11)                               (1)
------------------------------------------------------------------------------
(1) Parameters are elements of the linear form xb_outwork.

Bayesian generalized linear models               MCMC iterations  =     12,500
Random-walk Metropolis-Hastings sampling         Burn-in          =      2,500
                                                 MCMC sample size =     10,000
Family : Bernoulli                               Number of obs    =      3,874
Link   : logit                                   Scale parameter  =          1
                                                 Acceptance rate  =      .2057
                                                 Efficiency:  min =     .03496
                                                              avg =     .04486
Log marginal-likelihood = -1993.0855                          max =     .05717

------------------------------------------------------------------------------
             |                                                Equal-tailed
     outwork |      Mean   Std. Dev.     MCSE     Median  [95% Cred. Interval]
-------------+----------------------------------------------------------------
      female |  2.260141   .0842407   .004506   2.254865   2.097708   2.431913
        kids |  .3540421   .0906731   .003792   .3560368   .1811122   .5379961
        cdoc |  .0248758   .0063243   .000318   .0247956   .0130655   .0382379
        cage |  .0544032   .0039354    .00017   .0543025   .0469003   .0626092
       _cons | -2.012612   .0799112   .004051  -2.011676  -2.171733  -1.862155
------------------------------------------------------------------------------

コーシー分布を事前分布ベイジアンロジスティック回帰・MH法

同じく、Stata15以降の機能である。

. bayesmh outwork female kids cdoc cage, likelihood (logit)
> prior({outwork:female kids _cons}, normal(0, 1000))
> prior({outwork:cdoc}, cauchy(0,6))
> prior({outwork:cage}, cauchy(0,11))
> rseed (35841)

Model summary
------------------------------------------------------------------------------
Likelihood:
  outwork ~ logit(xb_outwork)

Priors:
  {outwork:female kids _cons} ~ normal(0,1000)                             (1)
               {outwork:cdoc} ~ cauchy(0,6)                                (1)
               {outwork:cage} ~ cauchy(0,11)                               (1)
------------------------------------------------------------------------------
(1) Parameters are elements of the linear form xb_outwork.

Bayesian logistic regression                     MCMC iterations  =     12,500
Random-walk Metropolis-Hastings sampling         Burn-in          =      2,500
                                                 MCMC sample size =     10,000
                                                 Number of obs    =      3,874
                                                 Acceptance rate  =      .1844
                                                 Efficiency:  min =     .03402
                                                              avg =     .05568
Log marginal-likelihood = -1993.0309                          max =     .07315

------------------------------------------------------------------------------
             |                                                Equal-tailed
     outwork |      Mean   Std. Dev.     MCSE     Median  [95% Cred. Interval]
-------------+----------------------------------------------------------------
      female |  2.258607   .0839686   .004552   2.261023     2.0928   2.423481
        kids |  .3565683   .0899923   .003727   .3605532   .1768716   .5279933
        cdoc |   .024811   .0064852   .000282   .0244694   .0122816   .0378834
        cage |  .0547071   .0039411   .000146   .0547988   .0469502     .06197
       _cons | -2.010109   .0794933   .003246  -2.009283  -2.171436  -1.854177
------------------------------------------------------------------------------

情報基準量

情報基準量はいつもの通り。

. bayesstats ic
Bayesian information criteria

----------------------------------------------
             |       DIC    log(ML)    log(BF)
-------------+--------------------------------
      active |  3928.181  -1993.031          .
----------------------------------------------
Note: Marginal likelihood (ML) is computed
      using Laplace-Metropolis approximation.

分布の比較

無情報事前分布(noninformative)とコーシー分布(informative)を用いた推定値の比較をしてみよう。

noninformative informative
female 2.60 2.259
kids 0.356 0.356
cdoc 0.024 0.025
cage 0.055 0.055
xcons -2.01 -2.01

Stataにはモデルの事後確率を基に仮説検定ができるコマンドがあるとのこと。bayestest modelコマンドを利用すると、モデルの限界尤度と事前確率と事後確率が表示できるようだ。レファレンスを参照とのこと。

プロット

cageのグラフに改善点があったため、それが前回の推定より改善されているかが問題となる。改善をしていれば、コーシー事前分布は有用ということになる。

. bayesgraph diagnostics {outwork:cdoc}

f:id:iDES:20191112152036p:plain

. bayesgraph diagnostics {outwork:cage}

f:id:iDES:20191112152049p:plain

このグラフは以前よりも改善されている。センタリングされた年齢の変数は以前のグラフではほぼ二峰性だった(参照)。 また、このモデルでは、無情報事前分布のモデルよりもcageの確信区間が狭くなっている。その理由は事前確率があった方が情報量がわずかに多いためである。Cauchy事前分布のモデルは、フラット事前分布のモデルよりも、センタリングされた年齢変数に適したものになっている。

コーシー分布

コーシー事前分布では、位置パラメーターとスケールパラメーター指定する。

f:id:iDES:20191112151933p:plain

上の式をStataのコマンドにすると以下のようになる。

prior({outwork: cage}, logdensity(ln(11)-ln(11^2+({outwork: cage})^2-ln(_pi))))

Stata15から導入されたprefixであるcauchy()はこの式をlogdensity()オプションに入れなくてもコマンドを走らせることができる。

ベイズ統計でコーシー分布といえばGelmanの論文である。

projecteuclid.org PDF
http://www.stat.columbia.edu/~gelman/research/published/taumain.pdf

本としては以下のもの。

Bayesian Data Analysis (Chapman & Hall/CRC Texts in Statistical Science)

Bayesian Data Analysis (Chapman & Hall/CRC Texts in Statistical Science)

  • 作者: Andrew Gelman,John B. Carlin,Hal S. Stern,David B. Dunson,Aki Vehtari,Donald B. Rubin
  • 出版社/メーカー: Chapman and Hall/CRC
  • 発売日: 2013/11/05
  • メディア: ハードカバー
  • この商品を含むブログを見る

コーシー分布を事前分布としたベイジアンロジスティック回帰

logdensity()のオプション指定をすると、Stata15から搭載されたcauchy()のprefixを使わずに、同様の意味を持つ式が書けるのでStata14でも走るように思うのだが、Stata14は持ってないのでよくわからない。

変数cdocおよびcageについては、a = 0を設定する。cdocはscaleパラメーターb = 6を設定し、cageはb = 11とする。説明が前後しているが、これらの任意の値は冒頭のスクリプトにも入れてある。変数femaleとkidsはnormal(0,1000)の事前分布を使用。これはベイズ統計を使用するときのデフォルトである。

スクリプトは次のようになる。

. bayes, prior({outwork:female kids _cons}, normal(0, 1000)) 
> prior({outwork:cdoc},
> logdensity(ln(6)-ln(6^2+({outwork:cdoc})^2)-ln(_pi)))
> prior({outwork:cage},
> logdensity(ln(11)-ln(11^2+{outwork:cage}^2)-ln(_pi)))
> rseed (35841): glm outwork female kids cdoc cage, family(binomial)

コーシー分布を事前分布としたベイジアンロジスティック回帰・MH法

MH法のbayesmhコマンドでは次のように指定する。

. bayesmh outwork female kids cdoc cage, likelihood(logit)
> prior({outwork:female kids _cons}, normal(0, 1000))
> prior({outwork:cdoc},
> logdensity(ln(6)-ln(6^2+({outwork:cdoc})^2)-ln(_pi)))
> prior({outwork:cage},
> logdensity(ln(11)-ln(11^2+({outwork:cage})^2)-ln(_pi)))
> rseed (35841)

logdensity()でコーシー分布の指定をしなくてもいいので、Stata15以降の方が多少楽になった気はする。
HardinとHilbeのテキストのコーシー分布自力計算のスクリプト内logdensity()オプションの中に誤植があったので、教科書を書く人間が間違うくらいだから、Stata15以降の改善は良いことなのだろうと思う。

ベイジアンロジスティック回帰分析・その2

HardinとHilbeのStata本にあるベイジアンロジスティック回帰分析の続き。前回のエントリはこちら

Generalized Linear Models and Extensions: Fourth Edition

Generalized Linear Models and Extensions: Fourth Edition

メトロポリスヘイスティングス

メトロポリスヘイスティングス法のやり方である。

前回も同じことを行っているが、データの読み込みと変数加工(センタリング)もう一度行っておこう。

. use http://www.stata-press.com/data/hh4/rwm1984
. quietly summarize docvis, meanonly
. generate cdoc = docvis - r(mean)
. quietly summarize age, meanonly
. generate cage = age - r(mean)

医者の往診の変数docvisと年齢ageをセンタリングしている。

MH法では変数の設定が必要である。priorは従属変数を指定し、その後にコンマをうち、分布とパラメーターを指定する構文が必要だ。以下のコマンドの2行目のところである。

. bayesmh outwork female kids cdoc cage, likelihood(logit)
> prior({outwork:}, normal (0,10000)) rseed (2017)
Model summary
------------------------------------------------------------------------------
Likelihood:
  outwork ~ logit(xb_outwork)

Prior:
  {outwork:female kids cdoc cage _cons} ~ normal(0,10000)                  (1)
------------------------------------------------------------------------------
(1) Parameters are elements of the linear form xb_outwork.

Bayesian logistic regression                     MCMC iterations  =     12,500
Random-walk Metropolis-Hastings sampling         Burn-in          =      2,500
                                                 MCMC sample size =     10,000
                                                 Number of obs    =      3,874
                                                 Acceptance rate  =      .2363
                                                 Efficiency:  min =     .02665
                                                              avg =     .05244
Log marginal-likelihood = -2001.0895                          max =       .101

------------------------------------------------------------------------------
             |                                                Equal-tailed
     outwork |      Mean   Std. Dev.     MCSE     Median  [95% Cred. Interval]
-------------+----------------------------------------------------------------
      female |  2.260566   .0803699   .002529    2.25819   2.103102   2.421029
        kids |  .3562706   .0893508   .004221   .3583318   .1783027   .5281715
        cdoc |   .024483   .0061758   .000329   .0244374   .0130205   .0369231
        cage |  .0545722   .0040688   .000174   .0547603   .0464829   .0622289
       _cons |  -2.01027    .082349   .005044   -2.00927  -2.172552  -1.852391
------------------------------------------------------------------------------

プロット

プロットは非収束の徴候が確認できる。

従属変数と各独立変数でプロットを作成する。
従属変数であるoutworkcdocでグラフを作成した。

Stataでは引数なしでグラフ診断を走らせると、4タイプのグラフが描画される。

. bayesgraph diagnostics {outwork: cage}

f:id:iDES:20191111183628p:plain

トレースプロットは各反復におけるパラメータ推定値をグラフ化する。ラグ項との自己相関である。ヒストグラムは事前分布と一致しているか確認する。outworkcdocでのグラフ診断は正規分布に近いが、世正規分布が必須というわけではないようだ。

outworkとセンタリングした年齢の変数であるcageのグラフ診断も走らせてみる。

f:id:iDES:20191111183616p:plain

cdocほどは良いグラフになっていないので、サンプリングに反復を追加し、値の選択を3から5減らすと自己相関を減らすことができるとのこと。

ESSコマンド

ESSコマンドでは、モデル内の指定された各パラメータについて、有効なサンプルサイズ、相関時間、および効率を表示できる。

. bayesstats ess

Efficiency summaries    MCMC sample size =    10,000
                        Efficiency:  min =    .02665
                                     avg =    .05244
                                     max =      .101

----------------------------------------------------
    outwork  |        ESS   Corr. time    Efficiency
-------------+--------------------------------------
      female |    1009.74         9.90        0.1010
        kids |     448.19        22.31        0.0448
        cdoc |     352.37        28.38        0.0352
        cage |     545.17        18.34        0.0545
       _cons |     266.54        37.52        0.0267
----------------------------------------------------

ベイズモデルでは、モデルパラメータの事後平均は、パラメータの事後分布のMCMCサンプリングの平均によって決定される。推定されたサンプル平均の標準誤差はに比例する。

ESS値が低いと注意が必要である。理想的には、ESS値はMCMCサンプルサイズに近い値をとる。効率は、ESS値にまたはを乗算することによって決定される。女性のESS値は1009.74であり、効率は0.101である。

Gibbs法によるサンプリングを行わない限り、平均の効率値0.01が許容できるモデルの最小効率である。0.1以上の値はランダムウォークメトロポリスアルゴリズム(random-walk Metropolis algorithm)にとって効率的であるとされているとのこと。

相関時間(correlation time)は効率の逆数である。自己相関が低い推定遅延と考えられ、値は小さい方が良い。

献本御礼:宮本みち子編『すべての若者が生きられる未来を』

宮本先生に講演会でお会いして頂戴いたしました。
ありがとうございます。

www.city.shinagawa.tokyo.jp

インドでひきこもり、いや、Netflix依存症だ

dramanavi.net

米CNBCによると、昨年度Netflix加入者の1日平均視聴時間は50分。しかし、インド出身のある男性は、1日7時間もNetflixの作品を見続けるという生活を半年以上も続けた結果、睡眠障害や身体的疲労、眼精疲労などの症状が出てしまい、インドのバンガロールにある同施設に入所したという。

施設にある、テクノロジーの健全な使用推進を奨励している部署の精神科医、マノジュ・クマール・シャルマ医師によると、その男性は半年以上無職で、家族から職を見つけるようプレッシャーをかけられており、その重圧から逃れるためにNetflixで視聴を続けていたとのこと。

この男性は日本でいうとひきこもりであったり、精神疾患の分類ではうつ病あたりが妥当なところだろう。
Netflixを見たため睡眠障害や身体的疲労などの症状が出たというのではなく、ストレス下でそれらの精神症状が出たと捉える方が説明として無理がない。
Netflixは、ストレスから逃れるため、つまりコーピングの手段として使われていたのだから、Netflixはむしろ彼を救っていた部分の方が多いのではないだろうか。

有病率の計算[R]

こちらのエントリでStataで行ったことをRでもやってみたい。 有病率の計算はprevalenceパッケージを用いる。

prevalence.cbra.be

prevalenceパッケージはベイズ統計学の計算にJAGSとrjagsを利用する。
JAGSを使ったことがない場合には、インストールが必要である。

JAGSのインストール

sourceforgeからダウンロードする。

sourceforge.net

ほとんどの人は/files/JAGS/4.x/Windows/からダウンロードすることになるだろう。
通常のアプリケーションと同じようにダウンロードをして、ダイアログボックスに従ってインストールする。

ほとんどの人はJAGS/4.x/Windows/からダウンロードすることになるだろう。ちなみに僕は/files/JAGS/4.x/Windows/JAGS-4.3.0.exeをインストールした。
通常のアプリケーションと同じようにダウンロードをして、ダイアログボックスに従ってインストールする。Pathは通す必要がない。

rjagsパッケージのインストール

rjagsはRからインストールする。

install.packages("rjags")

prevalenceパッケージのインストール

いつもは書かないが、一応prevalenceパッケージのインストールもコードを書いておこう。

install.packages("prevalence")

内閣府ひきこもり調査の例

生活状況に関する調査 https://www8.cao.go.jp/youth/kenkyu/life/h30/pdf/kekka_gaiyo.pdf

この調査の結果は下記であった。
- 有効回答数 3248人 - ひきこもり群 47人

library(prevalence)
propCI(47, 3248, method = "all", level = 0.95, sortby = "level")

結果は以下。

   x    n          p        method level      lower      upper
1 47 3248 0.01447044 agresti.coull  0.95 0.01086018 0.01922783
2 47 3248 0.01447044         exact  0.95 0.01065120 0.01919662
3 47 3248 0.01447044      jeffreys  0.95 0.01078351 0.01902143
4 47 3248 0.01447044          wald  0.95 0.01036353 0.01857736
5 47 3248 0.01447044        wilson  0.95 0.01089964 0.01918838

Rのprevalenceパッケージの場合はどの推定方法であっても、信頼区間のレベルを指定できるとこがStataより優れている。Stataはすべての推定法で区間レベルの変更がオプションで用意されていない。
通常は、95%しか使わないので、不要かもしれないが、かゆいところに手が届くのがRおよび有志の作ったパッケージのよいところである。

推定方法が決まっている場合にはmethodで指定する。agresti.coull法を使うのであればmethod = agresti.coullにする。

ちなみに、僕の環境ではpropCI()はRStudioのコンソールからしか実行できなかった。 いつもの回避法だが、R Markdownでは、一度結果を格納してからprint()をすると表示できる。

res<-propCI(47, 3248, method = "all", level = 0.95, sortby = "level")
print(res)

各推定方法についてはStataのエントリを参考にして欲しい → こちら

有病率の計算[Stata]

疫学調査で有病率を出す方法である。専門用語では母比率の推定という。日本語で母比率と言うとピンとこないが、英語だとpopulation rateなので、こちらの方が直感的に理解できるはずである。

Stataで有病率を推定する

Stataではcii propコマンドを使用する。

データは内閣府のひきこもり調査のものを利用しよう。

生活状況に関する調査 https://www8.cao.go.jp/youth/kenkyu/life/h30/pdf/kekka_gaiyo.pdf

この調査の結果は下記であった。

  • 有効回答者数 3248人
  • ひきこもり者数 47人
. cii prop 3248 47 , level(95)

                                                         -- Binomial Exact --
    Variable |        Obs  Proportion    Std. Err.       [95% Conf. Interval]
-------------+---------------------------------------------------------------
             |      3,248    .0144704    .0020954        .0106512    .0191966

日本の満40歳から満64歳までの人口は4235万人である。それぞれの値を人口に掛けると推定値と95%信頼区間が出てくる。

Proportion: 42350000 * .0144704 = 612821.4
95% CI Upper: 42350000 * .0106512 = 451078.3
95% CI Lower: 42350000 * .0191966 = 812976

よって推定値61.3万人、95%信頼区間45.1~81.3万人となる。

その他の推定方法

母比率の推定にはいくつか方法がある。

コマンド 説明
exact calculate exact confidence intervals; the default
wald calculate Wald confidence intervals
wilson wilson calculate Wilson confidence intervals
agresti calculate Agresti–Coull confidence intervals
jeffreys calculate Jeffreys confidence intervals

clopper-pearson正確法

デフォルトの設定で有病率である。F分布を使用する。 スクリプトは上段で示したものである。

f:id:iDES:20191030163802p:plain

wald法

本やウェブに掲載されているのはだいたいこの推定方法である。
wald法は正規分布を使用する。Stataでは wald法はデフォルトではないので、注意が必要かもしれない。

f:id:iDES:20191030163823p:plain

. cii prop 3248 47, wald

                                                         -- Binomial Wald ---
    Variable |        Obs  Proportion    Std. Err.       [95% Conf. Interval]
-------------+---------------------------------------------------------------
             |      3,248    .0144704    .0020954        .0103635    .0185774

wilsonのスコア法

f:id:iDES:20191030163844p:plain

. cii prop 3248 47, wilson

                                                         ------ Wilson ------
    Variable |        Obs  Proportion    Std. Err.       [95% Conf. Interval]
-------------+---------------------------------------------------------------
             |      3,248    .0144704    .0020954        .0108996    .0191884

agresti-coull法

f:id:iDES:20191030163903p:plain

. cii prop 3248 47, agresti

                                                         -- Agresti-Coull ---
    Variable |        Obs  Proportion    Std. Err.       [95% Conf. Interval]
-------------+---------------------------------------------------------------
             |      3,248    .0144704    .0020954        .0108602    .0192278

元論文
https://amstat.tandfonline.com/doi/abs/10.1080/00031305.1998.10480550#.Xbk-muj7Shc

本文(PDF)
http://www.uvm.edu/~rsingle/stat380/F04/possible/Agresti+Coull-Amstat-1998_ApproxVsExactCIfoP.pdf

jeffrey's法

JeffreyとはRichard Jeffreyのことでベイズ的な方法とされる。

f:id:iDES:20191030164454p:plain

定義式を見るとclopper-pearson法の改良版と位置付けてもよさそうだ。

. cii prop 3248 47, jeffreys

                                                         ----- Jeffreys -----
    Variable |        Obs  Proportion    Std. Err.       [95% Conf. Interval]
-------------+---------------------------------------------------------------
             |      3,248    .0144704    .0020954        .0107835    .0190214

考察

これらの方法は95%信頼区間の計算方法なので、比率(Stataの結果Proportionのところ、wald法の中央値)には影響を与えない。

例題のように一般人口を対象にしたサンプルサイズが十分に大きい調査で、有病率を計算する場合、agresti-coull法がreasonableであろう。

母比率の計算は様々なケースで行うので、当然、分布も様々なものが想定される。その際には正規分布よりF分布の方が適切という場合もあるだろうから、どんな場合でもagresti-coull法がよいというわけではない。その場合はF分布のclopper-pearson正確法かjeffrey's法を検討することになるだろう。ただ、だいたいのケースではagresti-coull法が最適なのではないかと思う。

AO入試はサイコパスばかりが通る試験なのでやめるべき

中野信子の主張である。

サイコパス (文春新書)

サイコパス (文春新書)

ビジネスマンにとって最大の興味は、「サイコパスは仕事ができるのか、できないのか?」ではないでしょうか。
アメリカの産業心理学者ポール・バビアクによれば、サイコパシー尺度のスコアはエグゼクティブ層の方が高く、世間一般の方が低いという結果が出ています。言いかえれば、「出世した人間にはサイコパスが多い」ことがわかっています。
ということは、サイコパスは仕事ができるのでは?と思うかもしれませんが、必ずしもそうではありません。(pp.182)

サイコパスが高いプレゼンテーション能力を持つことは確かです。
彼らは誠実さを欠き、批判されてもピンときません。だから平気で仕事を先延ばしにしたり、約束を破ったりしてしまいます。衝動性が高いため、凡帳面さを求められる仕事や、協調性や忍耐が求められるチームワークが苦手です。しゃべりは得意で存在感はあるのですが、よくよく精査してみると、意外と業績は低いことも少なくありません。
つまり口ばかりうまくて、地道な仕事はできないタイプが多いというわけです。バビアクによると、当初まわりが期待していたほどには仕事ができないということが、後になってわかる、というのです。(pp.183)

こうしたサイコパスの特性を考えると、面接ばかりを重視した採用試験や大学のAO入試には、問題があると言わざるをえません。過剰に魅力的で、確信をもって堂々とした話しぶりをするサイコパスばかりが通る試験になりかねないからです。
同様に、司法の素人に判断させる裁判員制度も、弁舌に長けたサイコパスの存在を考えると、危険きわまりない司法制度だと言えます。(pp.186)

ここでのサイコパスレクター博士やコーポレート・サイコパスのようなタイプのことであろう。
個人的には、サイコパスと言わずとも、AO入試が欠陥制度だと考えている。

社会科学の研究は論述を入試問題に含めることも不適格だとしている。理由は、論述の成績と入学後の成績に関連が低いためである。入試は、入学後に十分学べる素質があるか否かを計測するものだ。論述はその指標として機能していないとみなされているのである。

論述試験は、日本では2020年から導入される大学入学共通テストで導入され予定である。しかし、アメリカなどでは逆に廃止の方向に向かっている。ハーバード大学はSATやACTの中で小論文の得点を選考に使用しないように制度を変更している。

srad.jp