Использование среднего для получения вероятности одного вхождения в диапазоне чисел - PullRequest
0 голосов
/ 11 февраля 2019

Так что это интересный вопрос, связанный со статистикой.

Что у меня есть

  1. Среднее
  2. Диапазон возможных вхождений

Что я после

  1. Вероятность единственного вхождения в моем диапазоне

Примером может быть в среднем 10,3.диапазон 1-20.Какой шанс 4 происходит?Мне нужно использовать 10,3 как своего рода вес, потому что если не у каждого случая есть вероятность возникновения 1/20

Есть ли статистическая формула для чего-то подобного?

Кодирование

public void ReboundFormula(double TeamRebound, double OTeamRebound, double OffensiveRebound, double DefensiveRebound,
        double ShotsTotalAverage, double OShotsTotalAverage, double TeamShotAveragePercent, double OTeamShotAveragePercent,
        double PlayerORebound, double PlayerDRebound, double PlayerOPercentRebound, double PlayerDPercentRebound)
{
    //Possible rebounds using amount of shots that "miss" which result in a rebound chance. Note fouls, ball going out of bounds
    //, or other event that causes a rebound to not occur on a missed shot

    predictedPossibleRebounds = (ShotsTotalAverage*(1 -(double) TeamShotAveragePercent/100)) + OShotsTotalAverage*(1 - (double) TeamShotAveragePercent/100);


    Temp = (double) TeamRebound/(TeamRebound+OTeamRebound);

    Temp2 = (double) OTeamRebound/(TeamRebound+OTeamRebound);

    System.out.println("Percent of Team 1 Rebounds: " + Temp + " | Percent of Team 2 Rebound: " + Temp2);

    System.out.println();

    //Predicted rebounds a team will grab of the amount of rebounds they will likely get
    predictedTeamRebound = (double) predictedPossibleRebounds*Temp;

    predictedOTeamRebound = (double) predictedPossibleRebounds*Temp2;

    System.out.println("Amount of Rebounds to Team: " + predictedTeamRebound + " | Amount of Rebounds to OTeam: " + predictedOTeamRebound);
    System.out.println();

    //Rebounds predicted to be grabbed by teams
    Oratio = ((double) OffensiveRebound/TeamRebound)*predictedTeamRebound;
    Dratio = ((double) DefensiveRebound/TeamRebound)*predictedTeamRebound;

    System.out.println("Amount of Offensive Rebounds: " + Oratio + " | Amount of Defensive Rebounds: " + Dratio);
    System.out.println();

    System.out.println("Predicted Rebounds: " + predictedPossibleRebounds + " | Player Offensive Percent: " + PlayerOPercentRebound + " | Player Defensive Percent: " + PlayerDPercentRebound);

    //Player data time
    Temp = (Oratio*(PlayerOPercentRebound/100)) + (Dratio*(PlayerDPercentRebound/100));

    System.out.println();
    System.out.println("Player Predicted Rebound Total: " + Temp + " | Player Rebound Total Average: " + (PlayerORebound+PlayerDRebound) );
    System.out.println();

    System.out.println( "  " + (int) Math.round((Temp) - (Temp*0.75)) + "     " + (int) Math.round((Temp) - (Temp*0.5)) + "     " + (int) Math.round((Temp) - (Temp*0.25)) + "     " + (int) Math.round((Temp) - (Temp*0.1)) + "    " + (Temp) 
            + "  " + (int) Math.round((Temp) + (Temp*0.1)) + "    " + (int) Math.round((Temp) + (Temp*0.25)) + "     " +  (int) Math.round((Temp) + (Temp*0.5)) + "     " + (int) Math.round((Temp) + (Temp*0.75)));
    System.out.println("-75%  -50%  -25%  -10%   Predicted Average  +10%  +25%   +50%   +75%");
    System.out.println(); 

Данные кормления

run.ReboundFormula(54, 48.2, 13.662, 40.338, 89.86, 87.06, 45.2, 45.7, 3.7, 6.2, 12.9, 22.8);

1 Ответ

0 голосов
/ 11 февраля 2019

Вам нужно будет указать распределение результатов.Просто указать среднее значение и диапазон не достаточно.Например, несбалансированный кубик с вероятностью 1/12 чтения 1 и шансом 3/12 чтения 5, остальные результаты имеют равную вероятность, в среднем 3,83.Однако возможны и другие несбалансированные кости с таким же средним значением, например, кубик с вероятностью 1/12 чтения 2 и шансом 3/12 чтения 6.

Я подозреваю, что вы хотите получить биномиальное распределение . Биномиальное распределение является результатом конечного числа дискретных испытаний (как отскоков вашей программы ), каждое из которых либо успешно, либо неудачно, каждое испытаниеравный вес.

Если вы перейдете по ссылке, вы увидите много формул, вероятно, больше, чем вы хотели, но принцип лежит в основе формул, а принцип - это то, что вы в основном хотите понять.Это будет не так просто, но как только вы поймете принцип, естественные формулы будут следовать естественным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...