
No.8ベストアンサー
- 回答日時:
下記URLの「Rによる統計解析」の「シンプレックス法によるパラメータ推定」にシンプレックス法のソースコードと解説もあります。
例えば(x,y)=(1,3),(2,8),(3,15),(4,35),(5,57),(6,80),(7,92),(8,95),(9,99),(10,100)というデータにy = a/(1+b*exp(-c*x))
という関数をあてはめるには次の様にするとできます。
1. Rのホームページ http://www.R-project.org/
に入り、Downloadのページ'CRAN'から適当なバイナリをダウンロードする。
2. Rを起動してFileメニューのNew Scriptを選択
3. 「シンプレックス法によるパラメータ推定」からsimplex関数をScriptのウインドウにコピーアンドペーストする。
4. FileメニューのSave asを選択してScriptを保存
5. FileメニューのSource R Codeを選択して保存したScriptを実行
6. Rのコンソール上で次の様に入力してデータを定義
x <- c(1,2,3,4,5,6,7,8,9,10)
y <- c(3,8,15,35,57,80,92,95,99,100)
7. あてはめる関数を定義する
model1 <- function(x, p)
{
return(p[1]/(1+p[2]*exp(-p[3]*x)))
}
8. (a,b,c)=(30,20,10)を初期値として実行するには次の様に入力
simplex(model1, c(30, 20, 10), x, y, plot.flag=TRUE)
参考URL:http://aoki2.si.gunma-u.ac.jp/R/

No.9
- 回答日時:
>'CRAN'から適当なバイナリをダウンロードする。
今は楽になったのですね。昔は自分でテーブルを紙に書いて(表計算ソフトに1つづつ書きこんで)いたのですが。
ソフトを使う場合には.検算方法(双対定理, 音で覚えているために漢字疑問)だけは理解してから使ってください。なにかしらかの間違いがある場合がありますから。

No.7
- 回答日時:
5番です。
>シンプレックス法で数値微分が必要なのか私は疑問に思
「アメーバーほう」は私が知らないので最近の研究成果でしょう。話しの雰囲気ですと計算の簡略化が行われていますから。
数値微分が必要な理由は.ピポットの選択のためです。もっとも変化量が大きい項を選択することで収束を早めます。このために必要です。
No.6
- 回答日時:
Nelder-Meadのシンプレックス法は変数の数がN個であるとき、N次元空間でのシンプレックスを考えます。
次に各頂点での関数値を求め、以下のような作業を繰り返し、シンプレックスの体積を小さくしていきます。この体積が十分小さくなったら解が求まったことになります。*関数値最大点を残りの点の重心の反対側に対称移動:(「反射」と言う)
*上記で対称移動した点をさらにその方向に伸ばす:(「膨張」と言う)
*1次元の収縮
*(その時点の)最小点への全次元の収縮
上記のシンプレックスの動きが、伸びたり縮んだりして動くアメーバ(Amoeba)みたいなので、次の本ではアメーバ法と呼ばれています。
William H.Press〔ほか〕著 丹慶勝市〔ほか〕訳
ニューメリカルレシピ・イン・シー : C言語による数値計算のレシピ 日本語版
東京 技術評論社 1993.
また下記URLの「その他」の項目をダウンロードするとアメーバ法のCソースプログラムがあります。
シンプレックス法で数値微分が必要なのか私は疑問に思います。また私は最小二乗法とシンプレックス法は二者択一されるようなものではなく、
最小二乗法
→残差を表わす関数を最小にするパラメータを求める
→関数を最小にするパラメータを求める方法としてGauss-Newton法やシンプレックス法がある。
というように理解しております。
参考URL:http://www5.airnet.ne.jp/tomy/cpro/dl/download.htm

No.5
- 回答日時:
>ところでカイノス、鞍部とは何でしょうか?
解の巣問題の例としては.
砂場に幼稚園生10人か20人集めて穴を掘ってもらいます。もっとも深い穴を掘った園児に賞をあげるとします。
この水平座標の関数としての深さの方程式を最小二乗法で求める場合に.「もっとも深い」かもしれない隣の穴の解を求めてしまい(=穴の深さを最適解として結論付けてしまい)本当に深い隣の穴の深さを測らないことが発声する
というのが.カイノス問題です。
鞍部問題の例としては.
四角い折り紙を適当に2つに折ります。中央付近が持ちあがって.左右が下になるように中央付近の折り目に糸を通して吊ります。
折り紙の紙の中にのみ解が存在し.もっとも低い場所が最適解であるという関数を最小二乗法で求める場合に.中央付近の山の部分よりも低い場所のみ値を求めて.反対側を計算しないという収束を示す場合です。
カイノスは複数の鞍部が存在する場合の鞍部問題と解釈できるでしょう。
それと.「折り紙」とか「幼稚園生が掘った穴」のような不連続店が存在する例をあげたかというと.「共役勾配法」のような方法は方程式に条件がつくのです。この条件は「連続であること」です。不連続な点が存在すると.最適解が求められないのです。
シンプレックス法は不連続点が存在しても(かなり計算が面倒になりますが)それなりの貝が求められます。
だから「悪条件」の場合の初期解として求めて.初期貝の付近の付近の連続性を調べて.最小二乗法の計算をするわけです。
それから数学的に求められている「最小二乗法」ではなくて「絶対値法」も数学的に問題がありますが.使うには便利です。最小二乗法で発散してしまう場合には試す価値があります。これは.通常計算速度の問題から.単精度実数を使っているはずです(倍精度は4倍以上の時間が必要)。まあ.1の近辺に解がある場合に限って求めていれば変な問題が発生しないのですが.10次元方程式あたりで.解が100とか900とか付近にあるとか0.001とか0.009付近にある場合に.残差二乗和等が計算機eを超えてしまって微分しても同じ値しか帰ってこないのです。
だから.取り扱う数が1の近くになる絶対値法を試す必要が出てくるのです。
No.4
- 回答日時:
非線形のシンプレックス法に関して
F.H. Walters, L.R. Parker, S.L. Morgan, and S.N. Deming. Sequential Simplex Optimization. CRC Press, Boca Raton, Florida, 1991.
M.H. Wright. Direct search methods: once scorned, now respectable. In D.F. Griffiths and G.A. Watson, editors, Numerical Analysis: Proceedings of the 1995 Dundee Biennial Conference in Numerical Analysis, pages 191-208, Harlow, United Kingdom, 1996. Addison-Wesley Longman.
を御覧下さい。ネット上では下記に簡単な解説がありますが、もっと詳しいものもあるかもしれません。
参考URL:http://www.research.ibm.com/infoecon/paps/html/a …
No.3
- 回答日時:
シンプレックス法じゃなくて内点法ならば,非線形問題に対しては共役勾配法という手法で確立されていますが,シンプレックス法ですか?
もしくは,シンプレクティック法ではないのですか?
この回答への補足
非線形問題でシンプレックス法が使えるというのを知ったのはここで見たからです。
http://www.akita-noken.go.jp/provide/mc/manual/a …
シンプレティック法とシンプレックス法は全く別物なのでしょうか?

No.2
- 回答日時:
>は扱えるのでしょうか?
取り扱えますが.計算が膨大になるのであまりしません。
>には、どうすればよいでしょうか?
まずそれぞれの項(でよかったかな.名称疑問)で解を数値微分して.傾きが最大な項を見つけます。
次に.「ちょっと」(=数値微分の時のdX程度)ずらして...を繰り返して.「極値である.か.他の項の傾きが大きくなる」が項の移動の収束店です。「極値」は刻み幅を変更する必要がある程度の場合です。数値微分に時間がかかるので.局地になるまで「他の項の傾き」を省略する場合が多いでしょう。
ここで最初に戻ります。
線形式では局地まで一回の計算で落とせますが.ひせんけいしきではこれができません。何回も計算する必要があります。
結局.総当りで計算しているのと同じ暗い時間がかかってしまうので....。刻み幅の選択には注意してください。
これを使うときには悪い問題しか取り扱わないので.カイノスとか鞍部にいやってほど苦しみます(収束を早め様と広げると振動してくれる)から。
数値微分の方法と.極値か傾きを取るか.の組み合わせでいくつかの方法があります。数学的に意味がない場合も有ります(カイノスに引っかかった時等)ので.この場合には.最小二乗法の初期値を求める場合になるでしょう。
刻み幅の自動変更には注意してください。場合によっては固定する必要も出てきます。
No.1
- 回答日時:
私はこの分野は全く素人なのですが、実際に非線形最小二乗法にシンプレックス法を使っている文献があることから、使えるものと考えられます。
参考URL:http://www.jlc.net/~fperrell/webps03.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 数学の質問です。 △ABCにおいて, ∠Aの二等分線が BC と交わる点をRとする。 辺BC, CA 2 2023/07/13 23:58
- C言語・C++・C# ある線が円の範囲に入っているかの計算 1 2022/12/07 16:14
- 物理学 何故みんなアインシュタインの相対論は間違ってないと言うんですか? 5 2022/04/23 03:04
- 工学 制御工学の問題です。次の伝達関数のボード線図を直線で近似して概形を描く方法を教えてください。 G(s 1 2022/07/04 06:44
- 眼・耳鼻咽喉の病気 至急!埋没後の目の不調について 1 2023/08/15 21:00
- 数学 微分方程式 二階非線形 の問題で質問です。 ① y''-4y'+5y=e^(2x)/sinx ②y" 2 2022/11/07 23:57
- 数学 ベクトル方程式(ヘッセの標準形)についての質問 2 2022/04/23 18:00
- Illustrator(イラストレーター) イラストレーターのクリッピングマスクについて 2 2022/07/15 01:55
- その他(プログラミング・Web制作) 3Dモデルにおける法線の計算について(Python,OpenGL) 1 2023/04/25 23:46
- 数学 数学 場合の数 4 2023/05/20 19:20
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【数学】積分したあとに微分す...
-
サイン二乗xの微分を教えてく...
-
2階微分d^2y/dx^2を詳しく教え...
-
3階微分って何がわかるの??
-
授業で「yをxで微分する」とい...
-
分母が文字の分数を微分する方...
-
-1/(1-x)の微分を教えて下さい
-
数学 y=cos ^2(1-2x)を微分する...
-
lim[x→0](e^x - e^-x)/x
-
微分積分を理解できない人って...
-
y=logxA(Aは定数)をxで微分
-
y=e^x^x 微分 問題
-
dxやdyの本当の意味は?
-
log(1+x)の微分
-
(z^2-1)^n を z についてn階微分
-
hをtで微分するには
-
指数関数の引数が、なぜ無次元...
-
f(x)=0はxで微分可能か
-
y^2をxについて微分してください
-
最大値と最小値の求めかた
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サイン二乗xの微分を教えてく...
-
2階微分d^2y/dx^2を詳しく教え...
-
授業で「yをxで微分する」とい...
-
微分積分を理解できない人って...
-
3階微分って何がわかるの??
-
これらの数式を声に出して読む...
-
sinx^2の微分って2xcosx^2であ...
-
分母が文字の分数を微分する方...
-
デルタの意味
-
log(1+x)の微分
-
y^2をxについて微分してください
-
三角関数の微分の問題なんです...
-
なぜ微分したら円の面積が円周...
-
不定積分の計算で出た定数は捨...
-
eの読み方…
-
lim[x→0](e^x - e^-x)/x
-
二回微分して 上に凸下に凸 が...
-
二次関数 y=x^2 を微分すると---
-
-1/(1-x)の微分を教えて下さい
-
疑似微分って何ですか??
おすすめ情報