• ベストアンサー

エクセル散布図の最大値の横軸値

エクセルで(x,y)2系列のデータがあるとして散布図にすると凸2次関数のようになったとします。 その時、最大値(極大値)のX軸の値を返す方法はありますでしょうか。 Y最大値の行のXの値を返す という感じの関数になるのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

>この計算は「2次関数に近似できる曲線に、最小二乗法を適用した近似曲線極値のX座標」の求め方という認識でよろしいでしょうか。 そうです。No.1さんの書かれている「X=-b/2a」という式を単にExcelのワークシート関数で書き換えた数式です。 >さらに低次関数で近似できない場合(理想と離れている場合)もあるためもう少し一般的な求め方はないでしょうか。  エクセルの6次多項式近似では全く合わないので、使えません。  たとえば、Y切片・X切片でもいいので求められないでしょうか。 まず、LINEST関数は、2変数以上の1次式の各係数を求める関数です。使用する配列に2次、3次、…の値を含めることで、結果としてべき乗の多項式の係数を求めたことになる、という仕組みです。ですから、べき乗を用いているという意味においては、グラフで表示させるのと基本的に変わりません。 お手元に得られている数値に合う合わないではなく、元データの意味を考えて、本当にべき乗ではふさわしくないかの確認は必要かもしれませんが、やめにするんだとすると、他にどんな近似を考えるかです。それが先にないと、切片も求める方法はないというのが道理かと。 べき乗に代わる他の式が用意され、近似式が和の形をしている場合であれば、べき乗の係数を求めたのと同じ要領で、LINEST関数で求められそうではあります。また、対数、指数など他の初等関数を使って全体が和の形でない場合などであっても、グラフでも選択できるべき乗以外の近似式で近似できるかもしれません。 また、初等関数はテイラー展開できるはずなのだから、xの区間を区切れば、基本的に多項式で近似しても差し支えないのではないかとも思います。 いずれにしても、モデルなり、方針が先かと。

leo218mm
質問者

お礼

確かにモデル等が先に立てられれば良いと思います・・・ というより、最初の例で2次関数を立てたのが悪かったかもしれません。単純に最大のyの時のxを読みに行く、絶対値Yが最小の時のXを読む、という関数がないかと思った次第です。 具体的説明ができない状態での質問に丁寧にご回答いただきましてありがとうございました。 本件はご指摘があったように一旦締めさせていただきます。上記のアドバイス通りまず、モデルなりを立てることを考えてみます。その後再度トピ立てした時はまたよろしくお願いします。

その他の回答 (4)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

あなたのご相談は >凸2次関数のようになったとします。 >その時、最大値(極大値)のX軸の値を返す方法はありますでしょうか。 です。 何か違うことをしたいのでしたら、このご相談はキチンと解決で閉じてから、改めて具体的に「何をどうしたい」のかキチンとご相談を書いて投稿してください。 #一応ご参考まで Y切片: =INDEX(LINEST(B1:B10,A1:A10^COLUMN(A1:B1),TRUE,FALSE),3) で計算できます。 x切片: ふつーに二次方程式の解の公式で計算してください。 -b±√(b^2-4ac)/2a ってヤツです。 定数項、1次および2次の係数の求め方は回答済みです。 >近似できない場合 近似曲線が引けるのに近似できないって、具体的にどういう事かさっぱりイミフメイです。 ヤリタイ事に見合った数式を組んで計算できるかもしれませんし、ゴールシークやソルバーで解を探索させてしまった方が手っ取り早いかも?しれません。 こちらも今回のご相談とはまた別のお話のようなので、やはり具体的な状況を添えて別途ご相談を投稿してください。

leo218mm
質問者

お礼

失礼いたしました。 同内容のトピ乱立はご法度だと思い、重ねて質問させていただきましたが、ポイント制度がある以上よくないことですね。キャッチの手法みたいになってしまい申し訳ありませんでした。 また、具体的事例が出せず説明が悪いためにお手数をおかけしていることは承知しています。 しかしながら、最後までお応えいただきましてありがとうございました。 本件は上記ご指摘のとおり一旦締めさせていただきます。

回答No.3

なるほど、そうですね。詳しくないですが、No.1さんのおっしゃるとおり、LINEST関数により、多項式の係数は配列として求められるようです。失礼しました。 No.1さんの式中、「COLUMN(A1:B1)」という部分は、代わりに「{1,2}」と書いても同じです。 グラフに表示させた近似式から係数を読み取る方法については、15桁とか、桁数を多く表示させることができます。ですから、これでも正確な計算ができるかと…。表示の方法は、No.2をご覧ください。 なお目視とは言っても、近似式をダブルクリックすると、係数をCtrl+Cでコピーできます。ですから写し取るのに、数字を一つひとつタイプする必要はありません。

leo218mm
質問者

お礼

ありがとうございます。 No.1さんへも書きましたが、求めたいものはあまり単純な系でない場合多いです。 エクセルの6次多項式近似では全く合わないので、使えません。 たとえば、Y切片・X切片でもいいので求められないでしょうか。

回答No.2

「近似曲線」の式を表示させ、その式を算数で習うとおり平方完成すればいいでしょう。 2次関数の係数を数式でセルに算出させるのは、グラフ機能が行っているのと同等なアルゴリズムを自分で用意してやる必要があるので、たいへんです…。近似式を目で見て転記、がラクかと。 以下は、近似曲線とその式の表示のさせ方です。 グラフ中のプロットを右クリックし、「近似曲線の追加」をクリック。表示されるダイアログで、「多項式近似」を選択。「次数」を「2」に設定。「前方補外」と「後方補外」に適当な値を入力。「グラフに数式を表示する」にチェックを入れ、「閉じる」ボタンを押します。 こうして表示させた近似式の係数の桁数を多く表示させたい場合は、近似式を右クリックして「近似曲線ラベルの書式設定」をクリック。「表示形式」で「数値」を選択し、桁数を入力してください。 曲線の最大値ではなく、単にyデータが最大になるときのxを求めるだけでいいなら、MAX関数でいいですね。 =index(a:b,match(max(b:b),b:b,),1)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

必ずエクセル2003以降を使います。 A1:A10にXの値 B1:B10にYの値 として =-INDEX(LINEST(B1:B10,A1:A10^COLUMN(A1:B1),TRUE,FALSE),2)/(2*INDEX(LINEST(B1:B10,A1:A10^COLUMN(A1:B1),TRUE,FALSE),1)) のように計算できます。 #参考: 二次曲線 y=aX^2+bX+c の極値のX座標は X=-b/2a で求まります。 グラフで二次曲線の近似を挿入して、グラフから係数を読み取って計算してはいけません。 多くの場合に有効桁数不足で間違った計算結果になります。

leo218mm
質問者

お礼

ありがとうございます。 この計算は 「2次関数に近似できる曲線に、最小二乗法を適用した近似曲線極値のX座標」 の求め方という認識でよろしいでしょうか。 実は質問は簡単な系でさせていただいていますが、実際に求める数値は 極値だけでなく、Y切片・X切片もあります。 さらに低次関数で近似できない場合(理想と離れている場合)も あるためもう少し一般的な求め方はないでしょうか。

関連するQ&A

  • エクセル2000 散布図

    エクセル2000で散布図を作成中です。 基本的な質問で申し訳ないのですが、2項評価点をX軸/Y軸に割り振り 散布図上の交差点を評価ランクとして出したいと思っています。 普通に2項の数値データ(X軸Y軸とも数値範囲:0.0~5.0)を範囲指定して グラフウィザードから散布図を作成すると、X軸はデータセルの順番に左から 順番に並べられるだけで、データ値を参照しません。グラフにはY軸データのみ 表示されています。 データ数は全てで63個(X/Y軸ともに)なのですが、不思議なことに52個まで のデータを範囲指定すると、X軸もデータ値が表示され上手く散布図が書けます。 元データで「系列」範囲を探ってみても、きちんとそれぞれのデータ値が入って います。データ表の書式はX/Y軸とも「数値」です。 なぜでしょうか?教えてください。 資料作成が行き詰まり、大変困っています。

  • 日々のばらつきをExcel散布図で

    あるデータを出す一つの機械が出すデータの値を散布図にしたいのですがうまくいかず困っています。 データの例としましては 日付  |データ 11月1日|80 68 12 44... 11月2日|98 48 78 25... 11月3日|46 38 49 61... という情報でX軸を日付 Y軸をデータの値をプロットにし、日毎で系列にまとめて散布図を得たいのですが (80 98 46)で系列を作ってしまい、11月1日で系列を作れません。 絵で申し訳ないのですが添付データのような散布図造りたいのですが どなたか教えていただけませんでしょうか。

  • excelの散布図のスムージングについて

    excelの散布図でスムージング機能がありますが、スムージングで引かれた曲線の座標を求めることは出来ないのでしょうか? X軸の値もしくはY軸の値を指定するとそれぞれY軸、X軸が帰ってくるような関数、マクロなどは無いのでしょうか? HELPを探したのですが上手く見つかりませんでした。 そもそも、求めることは不可能なんでしょうか? ちなみに、excel95,97,2000を使っています。

  • エクセルの散布図

    エクセルで散布図を書きたいのですが, x   y  z 1  12  ○ 2  21  × 3  42  × 12 21  ○ の表で,x,yをもとに散布図を描き,データの要素として,系列zの要素をグラフ上に描くためには,どうすればよいでしょうか。教えてください。    

  • Excel散布図 X軸の値を変えたい

    ≪エクセル初心者です。Excel2000,WindowsXP になります。よろしくお願いいたします≫ エクセルで散布図を作りたいのですが、 X軸の値が元データの値にならず四苦八苦しております。 X軸は、8byteに始まり、64KBまでありますが グラフ>元のデータ>Xの値が8byte~64KB まで選択されているのに、この値が反映しません。 (X軸の値がゼロに始まり16で終わる図になってしまいます。) 「軸の書式設定」 で、 最小値・・・「8」 最大値・・・「64」 としたら、 X軸が16の値までしか 散布図のデータが反映しません。 グラフの元のデータとなる表は以下のとおりです。 セルA1   8byte, 16byte 32byte...........64KB 5Mbps   0.612   4.879   8.233    4.879 10Mbps   0.611  4.879     8.900     60.309  30Mbps  0.629  4.879    19.000     99.879 ★補足(1)  X軸8byte, 0.612  最小値   X軸64KB  99.879 最大値  といった結果になる散布図グラフを作成したい。  8byteの頃は、近い値ばかりなので散布図の「点」重なっており、  バイト数が上がる毎に、散布図の点がまだらになっていくようなグラフを目指しています。 ★補足(2)  Y軸は対数表示になります。 ★補足(3)  元のデータのセルA1はブランクですが  その他は全てデータが埋まっております。 以上の説明でお分かりいただけるか不安です。。。 もし不明な点がありましたらすぐ回答いたします。 お手数をおかけしますが ご回答の程よろしくお願いいたします。

  • Excelの散布図

    Excelで散布図を作成しようとしていますが、 同じXY軸の中にいくつもの群の値を入れて、 それぞれの群で色分けをしようと思っています。 各群でxもyも値はばらばらです。 いろいろ見てみたのですが、方法がわかりません。 恐れ入りますが、どなたか教えていただけませんでしょうか。

  • エクセルで散布図

    エクセルで散布図を書きますが、X,Y軸の第2項目軸を書きたいのですが どうすればよいのでしょうか

  • Excelの散布図のことで質問があります

    散布図のことでわからないことがあり質問しています。 データは、以下のような感じです。 名前 身長 体重 Aさん 173 53 Bさん 165 65 Cさん 172 80 Dさん 157 45 Eさん 163 63 Excel2002を使用して、X軸を身長、Y軸を体重に設定し、散布図を作成しました。 それに加えて、描かれたポイントに名前(例えばAさん)の行を反映させたいのですが、方法がわかりません。 回答よろしくお願いします。

  • エクセル 散布図 軸の入れ替え

    エクセル、散布図のついての質問です。    A B  C  ア 1 5 10  イ 2 7 20  ウ 3 9 30 例えば上記のような表の場合、グラフウィザードでデータ範囲を選択 して散布図を作成した時は、X軸にア・イ・ウ、Y軸にはA・B・C の各データがプロットされたグラフとなります。 そこで出来たグラフから、X軸とY軸を入れ替えたグラフに変更する ことは可能でしょうか? 具体的には、X軸がA・B・Cの各列、Y軸がア・イ・ウとなる グラフへの変更です。   ウ|   イ|       ←このような感じ   ア|     ――――――    0 10 30 「元のデータ」を選択して、系列毎に「Xの値」「Yの値」を選択 し直す(あるいは最初から選択する)方法は分かっています。 ただ、データ数が多い場合、ひとつひとつ変更していくのが煩雑な ので一気に変更できる機能がないかと思いまして・・。 ご教授願います。

  • EXCELの散布図について教えてください

    こんにちは。 EXCELの散布図で、指定のX・Y座標にマーカーを表示し、 ラベルとして座標値でも系列名でもない任意の文字列(実際は社名)を 表示したいのですが、こういったことは簡単に出来るものなのでしょうか? データは3種類あり 1)社名 2)数値 3)数値 2)と3)の交わる部分に1)の社名を示して欲しいということでした。 「二軸散布図」を調べれば良いと言われたものの、 私の乏しい知識ではいくら読んでも理解し辛く、質問させていただきました。 よろしくお願いいたします。

専門家に質問してみよう