実験して得れた2つのパラーメータの関係を、散布図をプロットしてなんでもかんでも直線で近似してしまう例を見かけます。どんなランダムなデータでも最小二乗法の計算は可能なので、なんらかの直線は引けてしまいますし、相関係数なども計算できてしまいます。しかし、パッと見が直線関係に見えないデータに対して、回帰直線を引くことになんの意味があるのでしょうか。実験者の頭の中に、これとこれとが相関していて欲しい、これがこれの原因であって欲しいという気持ちがあるために、無理やり直線を引いてしまっているのではないかと思われる場合があります。
どんな曲線(直線)でデータを表すのかは、研究者の恣意的な判断です。Uの字型のデータ分布に直線を当てはめるのはナンセンスでしょう。つまり、カーブフィッティングの際の近似式の選択は、実験者の仮説が入り込んでいるわけです。
一本の直線で表すのは無理そうでも、部分部分でみると直線性があることがあります。だったら、区間を分けて複数の直線を当てはめてみるのも一つの手です。もちろん、そうする動機、すなわち仮説、すなわちデータの分布に対する合理的な説明(仮説)が存在するという前提です。
この解析手法で用いられる関数の名前は英語では、piece-wise linear functionと呼ぶようです。piece-wise linear functionでグーグル検索すると多数のサイトがヒットしました。
複数の直線によるフィッティング
https://www.codeproject.com/Articles/5282014/Segmented-Linear-Regression
https://datacadamia.com/data_mining/linear_spline
http://yetanothermathprogrammingconsultant.blogspot.com/2018/03/piecewise-linear-regression.html
https://slidetodoc.com/chapter-9-special-topics-in-regression-optional-copyright/
複数の直線による回帰の方法(Python利用例)
区間に分けて直線回帰を行うことは英語だと、piecewise linear regressionというようです。ピースワイズ、つまり「部分ごとに」ということ。
- How to apply piecewise linear fit in Python? stack overflow
https://datascience.stackexchange.com/questions/8457/python-library-for-segmented-regression-a-k-a-piecewise-regression
https://www.researchgate.net/profile/Charles-Jekel-2/publication/331231072_pwlf_A_Python_Library_for_Fitting_1D_Continuous_Piecewise_Linear_Functions/links/5c9107f945851564fae8aa57/pwlf-A-Python-Library-for-Fitting-1D-Continuous-Piecewise-Linear-Functions.pdf?origin=publication_detail
https://medium.com/@kangeugine/optimize-piecewise-linear-function-f47b8610993d
https://stackoverflow.com/questions/35415372/piecewise-regresion-python
https://stackoverflow.com/questions/19955686/fit-a-curve-for-data-made-up-of-two-distinct-regimes
https://online.stat.psu.edu/stat501/lesson/8/8.8
https://stats.stackexchange.com/questions/14538/not-usual-piecewise-linear-regression
Rによる複数の直線の回帰
http://yetanothermathprogrammingconsultant.blogspot.com/2018/03/piecewise-linear-regression.html
複数の直線による回帰の方法(MATLABの利用例)
https://jp.mathworks.com/matlabcentral/answers/426524-how-to-curve-fit-a-data-with-multiple-linear-line-which-regression-method-suits
セグメントごとの直線回帰(GraphPadの利用例)
GraphPadでは2つの区間に分けて行う直線回帰はサポートしているようです。3つの区間の場合も手作業でできるようです。
https://www.graphpad.com/guides/prism/latest/curve-fitting/reg_segmental_linear_regression.htm
論文
https://www.ams.org/journals/mcom/1961-15-073/S0025-5718-1961-0119390-6/S0025-5718-1961-0119390-6.pdf
Muggeo, V. M. (2003). Estimating regression models with unknown breakpoints. Statistics in medicine, 22(19), 3055-3071.
https://www.hindawi.com/journals/cmmm/2019/9810675/