プロット1では、単純な相関を行うことにより、xとyの間の関連付けをテストできます。
関係が非線形であり、xとyの間に明確な関係があるプロット2では、関連付けをテストしてその性質にラベルを付けるにはどうすればよいですか?
プロット1では、単純な相関を行うことにより、xとyの間の関連付けをテストできます。
関係が非線形であり、xとyの間に明確な関係があるプロット2では、関連付けをテストしてその性質にラベルを付けるにはどうすればよいですか?
回答:
...関係は非線形ですが、xとyの間には明確な関係があります。どうすれば関連付けをテストし、その性質にラベルを付けることができますか?
これを行う1つの方法は、フィット感になりのセミパラメトリック推定関数としてX、例えば、使用して一般化加法モデル間の関係を示さないであろう機能の推定値が一定であることと、テストか否かを、と Xを。このアプローチにより、多項式回帰を行う必要がなくなり、多項式の次数などについて時々arbitrary意的な決定を行う必要がなくなります。
具体的には、観測値がある場合がある場合、モデルを近似できます。
そして試験仮説。ではR
、gam()
関数を使用してこれを行うことができます。場合はy
、あなたの成果であるとx
、あなたの予測因子である、あなたが入力できます。
library(mgcv)
g <- gam(y ~ s(x))
入力summary(g)
すると、上記の仮説検定の結果が表示されます。関係の性質を特徴付ける限り、これはプロットで行うのが最適です。これを行う1つの方法R
(上記のコードが既に入力されていると仮定)
plot(g,scheme=2)
応答変数が離散的(バイナリなど)である場合、ロジスティックGAMをフィッティングすることにより、このフレームワーク内で対応できます(で呼び出しにR
追加family=binomial
しますgam
)。また、複数の予測子がある場合は、複数の加法的項(または通常の線形項)を含めるか、予測子がある場合は多変数関数に適合させることができます。既定の方法を使用すると、関係の複雑さは相互検証によって自動的に選択されますが、ここでは多くの柔軟性があります。x, z
gam
興味がある場合ヘルプファイルをて。
すべてのデータを使用して推定すると、これらの推定値は大きく、符号が逆になります。
距離相関テストを使用して、あらゆる種類の依存関係をテストできます。距離相関の詳細については、こちらを参照してください:距離相関計算の理解
そして、ここに元の論文: https //arxiv.org/pdf/0803.4101.pdf
Rでは、これは関数energy
とともにパッケージに実装されdcor.test
ます。
ここで私の理解が間違っている場合、誰かが私を修正しますが、非線形変数を扱う1つの方法は、線形近似を使用することです。したがって、たとえば、指数分布のログを取ることにより、変数を正規分布として扱うことができます。その後、線形回帰のように問題を解決するために使用できます。
以前は一般的な加算モデルを実装して2つの変数間の非線形関係を検出していましたが、最近nlcor
Rのパッケージを介して実装された非線形相関について発見しました。ピアソン相関と同じ方法でこのメソッドを実装できます。 、相関係数は0と1の間であり、ピアソン相関のように-1と1ではありません。より高い相関係数は、強い非線形関係の存在を意味します。2つの時系列x2
とを仮定してみましょう。2つの時系列y2
間の非線形相関は次のようにテストされます。
install.packages("devtools")
library(devtools)
install_github("ProcessMiner/nlcor")
library(nlcor)
c <- nlcor(x2, y2, plt = T)
c$cor.estimate
[1] 0.897205
2つの変数は非線形関係を介して強く相関しているように見えますが、相関係数の調整されたp値も取得できます。
c$adjusted.p.value
[1] 0
結果をプロットすることもできます
print(c$cor.plot)
これを見ることができます 詳細については、リンクを