問題タブ [average]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
language-agnostic - 一般的な方法で平均の計算をサブセットに減らす方法は?
編集:このリンク先の元の質問を誰も読んでいないように見えるので、ここでその概要を紹介しましょう。
他の誰かが尋ねたように、元の問題は、合計がデータ型が保持するものを超える多数の値が与えられた場合、Double
それらの値の平均をどのように計算できるかということでした。
50 個と 50 個の数値を取り、それらのセット内の平均を計算し、最後にそれらすべてのセットの平均を取り、それらを組み合わせて最終的な平均値を取得するなど、セットで計算するといういくつかの回答がありました。
私の立場は、これらすべての値を同じサイズのセットに分割できることを保証できない限り、このアプローチは使用できないというものでした。答えを提供するために、誰かが私にここで質問することを敢えてしたので、ここにあります。
基本的に、任意の数の値が与えられると、次のようになります。
- 値の数は事前に知っています (しかし、もしそうでなければ、あなたの答えはどのように変化しますか?`)
- すべての数値を集めることも、それらを合計することもできません (合計は、プログラミング言語の通常のデータ型には大きすぎます)。
どうすれば平均を計算できますか?
ここでの質問の残りの部分では、同じサイズのセットに分割する方法とその問題の概要を説明していますが、どうすればそれができるかを知りたいだけです.
私は、数学理論の用語で、 の合計を計算すると平均が得られることを十分に理解していることに注意してください。A[1..N]/N
単純ではない理由があると仮定して、ワークロードを分割する必要があります。また、値の数が必ずしも 3、7、50、1000 などで割り切れるわけではありません。
言い換えれば、私が求めている解決策は一般的でなければなりません。
この質問から:
私の立場は、これらのセットのサイズが等しいことを保証できない限り、作業負荷をセットに分割することは良くないというものでした。
編集: 元の質問は、特定のデータ型が保持できる上限に関するものでした。彼は多くの数値を合計していたため (例として与えられたカウントは 10^9 でした)、データ型は合計を保持できませんでした。これは元のソリューションの問題だったので、数字が大きすぎて意味のある答えが得られないと思います (これは私の質問の前提条件です。それを逃して申し訳ありません)。
したがって、値の総数で直接除算することはできません。通常の SUM/COUNT ソリューションが存在しない元の理由は、SUM がオーバーフローすることでしたが、この質問では、SET-SET/SET-SIZE がアンダーフローするなどと仮定しましょう。
重要な点は、単純に合計したり、合計値の数で単純に割ったりすることはできないということです。それができない場合、私のアプローチはうまくいくでしょうか?それを修正するにはどうすればよいでしょうか?
問題の概要を説明しましょう。
1 から 6 までの数値の平均を計算しようとしていると仮定しましょう。ただし、(何らかの理由で) 数値を合計し、数値を数え、合計をカウントで割ることによって計算することはできません。つまり、単純に (1+2+3+4+5+6)/6 を実行することはできません。
つまりSUM(1..6)/COUNT(1..6)
アウトです。ここでは、NULL (データベースの NULL と同様) は考慮していません。
その質問に対するいくつかの回答は、平均化される数値をセット (たとえば 3、50、または 1000 の数値) に分割し、その数値を計算し、最後にそれらの値を組み合わせて最終的な平均を取得できることをほのめかしています。
私の立場は、これは一般的なケースでは不可能だということです.これは、すべての数字を均等に分割できない限り、最終的なセットに表示される数字の価値が、以前のセットのすべての数字よりも多かれ少なかれ価値があるためです.サイズのセット。
たとえば、1 ~ 6 の平均を計算するには、次のように 3 つの数字のセットに分割できます。
これにより、次のようになります。
(注: (1+2+3+4+5+6)/6 = 3.5 なので、ここでは正しい)
ただし、私のポイントは、値の数を同じサイズのセットに分割できなくなると、この方法は失敗するということです。たとえば、値の素数を含むシーケンス 1 ~ 7 はどうでしょうか。
すべての値を合計せず、すべての値を一度にカウントする同様のアプローチは機能しますか?
それで、そのようなアプローチはありますか?以下が当てはまる任意の数の値の平均を計算するにはどうすればよいですか。
- 何らかの理由で、通常の合計/カウントアプローチを実行できません
- 値の数は事前にわかっています (わからない場合、答えは変わりますか?)
sql - 連続するイベント間の平均時間を計算するクエリ
私の質問は、連続するイベント間の平均時間を計算する SQL クエリを作成する方法についてです。
私は小さなテーブルを持っています:
ステージ (i) とステージ (i+1) の間の時間の平均を回答として取得するクエリを作成したいと考えています。
たとえば、ステージ 2 とステージ 3 の間の平均時間は 5 です。
php - PHPでの数学の平均
あなたの数学のスキルをテストする時間...
私はphpを使用して、$ num1、$ num2、$num3などの平均を見つけています。未設定の数まで。次に、その平均をデータベースに保存します。
次回phpスクリプトが呼び出されると、新しい番号がミックスに追加されます。
新しい数を含めた元の数の平均を見つけるために使用できる数学(おそらく代数)方程式はありますか?または、元の数値をデータベースに保存して、それらにクエリを実行し、数値の束全体を一緒に再計算できるようにする必要がありますか?
sql - MySQL:ユーザーあたり最後の10エントリ?
ユーザーのトランザクションデータを格納するテーブルがあります。ユーザーの評価を見つけるには、そのユーザーの最後の10エントリの平均スコアを取得します。SQLでそれを取得する方法はありますか?
IDを指定して、1人のユーザーで問題を解決できるようにする必要があります。そして、スコア順に並べられたすべてのユーザーのリストを取得します。
現在、MySQLの外部で作業しており、ユーザーごとに別の列に保存して、ORDER_BYできるようにしています。
sql-server - データベース アクセスの高速化
0.1 秒ごとに収集されたレコードを含むデータベースがあり、特定の日のデータを 20 分ごとに時間平均する必要があります。そのため、24*3 の値である 20 分ごとに平均化された 1 日分のデータを返す必要があります。
現在、1 日の 20 分間ごとにデータベースに対して個別の AVG 呼び出しを行っています。これは 24*3 呼び出しです。データベースへの接続が少し遅いようで (リモートです)、すべての平均を実行するのに約 5 分かかります。1 日分のデータにアクセスし、それを 20 分ごとに平均化する単一のクエリを実行する方が高速でしょうか? 質問に答えるのに役立つ場合は、平均化する前にデータに算術演算を行う必要があります。つまり、いくつかのテーブル列を乗算します。
python - Pythonでリストの特定のサイズのサブセクションを平均化する方法は?
特定のサイズのリスト(または配列)からバイトを取り出し、そのバイトの平均を返し、次のバイトに移動して、それをもう一度やり直したいと思います。forループを記述せずにこれを行う方法はありますか?
[1.5,5.5,8.5]を返すnp.average(x [:bitesize = 4])のようなものを探しています。
配列のスライスと配列のステップスルーを見てきましたが、自分がやりたいことをするようなことは何も見つかりませんでした。
c# - 2つのインデックス間のdouble[]から平均値を取得します
多くの数値を保持するdouble[]配列があります。
この配列内から特定の条件(xより大きい値、少なくともyの値など)に該当するセクションを選択するアルゴリズムがあります。
次に、セクション内のこれらすべての値の平均値を計算します。
つまり、私のセクションがインデックス20から40であるとしましょう。これで、20個の値ができました。C#でこれを行う簡単な方法はありますか、それとも配列をループして手動で平均を計算する必要がありますか?
sql-server - 数値AVG()SQLServerでの算術オーバーフロー
どして
「数値をデータ型数値に変換する際の算術オーバーフローエラー」を返します。
ドキュメントには、avg関数について次のように記載されています。
入力:10進数のカテゴリ(p、s)
出力:decimal(38、s)をdecimal(10、0)で割った値
それがどのように溢れるのか、私にはよくわかりません。
c++ - C++STLリストは平均を計算します
いくつかのC++/STLコードを修正する必要があります。残念ながら、私はC ++の経験がほとんどなく、STLについて何も知りません。それにもかかわらず、私はそれのほとんどを終えました、しかし以下の関数はまだ私に問題を与えています:
C ++ソース:
C ++ヘッダー:
これは、リストから平均値を計算することを目的としている可能性が高いですが、多くのエラーに準拠しています。Webで解決策を検索しようとしましたが、何も見つかりませんでした。誰かが私を助けてくれたら嬉しいです。
更新:迅速な返信ありがとうございます。受け入れられた答えは私のすべての問題を解決しました。