最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?分位點(分位值)計算方式

 更新時間:2021年12月15日 10:03:32   作者:Think-Yang  
這篇文章主要介紹了Java?分位點(分位值)計算方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java 分位點(分位值)計算

有一個需求

給出一段時間的PB(平均市凈率),然后選擇這段時間的某一天,計算這天的分位值.

很簡單的一個數(shù)理統(tǒng)計學(xué)科的問題,對于畢業(yè)多年的學(xué)渣還是有必要記錄以下相關(guān)問題的計算方法.

例如:

取最近1.1-1.10號的pb分別是(1,1,2,2,3,3,4,4,5,5),我傳入1.1號

那么返回我值是:0%,如果傳入1.10號返回100%

那么怎么建立數(shù)學(xué)模型呢?

注:分位值說明:

Pn為n分位值。表示被調(diào)查群體中有n%的數(shù)據(jù)小于此數(shù)值。n的大小反應(yīng)市場的不同水平,通常使用P10、P25、P50、P75、P90來表示市場的不同水平。

  • 10分位值:表示有10%的數(shù)據(jù)小于此數(shù)值,反映市場的低端水平。
  • 25分位值:表示有25%的數(shù)據(jù)小于此數(shù)值,反映市場的較低端水平。
  • 50分位值:表示有50%的數(shù)據(jù)小于此數(shù)值,反映市場的中等水平。
  • 75分位值:表示有75%的數(shù)據(jù)小于此數(shù)值,反映市場的較高端水平。
  • 90分位值:表示有90%的數(shù)據(jù)小于此數(shù)值,反映市場的高端水平。

例:求下例一組數(shù)據(jù)的25分位,50分位,75分位值:
A=【65 23 55 78 98 54 88 90 33 48 91 84】

解:

方法一:

1、先把上面12個數(shù)按從小到大排序

1 23
2 33
3 48
4 54
5 55
6 65
7 78
8 84
9 88
10 90
11 91
12 98

2、12個數(shù)有11個間隔,每個四分位間11/4=2.75個數(shù)

3、

① 計算25分位:

第1個四分位數(shù)為上面12個數(shù)中的第1+2.75=3.75個數(shù)

指第3個數(shù)對應(yīng)的值48及第3個數(shù)與第4個數(shù)之間的0.75位置處,即:48+(0.75)*(54-48)=52.5 (52.5為25分位值)。

② 計算50分位:

第2個四分位數(shù)為上面12個數(shù)中的第1+2.752=6.5個數(shù)

指第6個數(shù)對應(yīng)的值65及第6個數(shù)與第7個數(shù)之間的0.5位置處,即:65+(0.5)(78-65)=71.5 (71.5為50分位值)。

【中位值也可以用一種很簡單的方法計算,按從小到大排列后:

若數(shù)組中數(shù)的個數(shù)為奇數(shù),則最中間那個數(shù)對應(yīng)的值則為中位值;

若數(shù)組中數(shù)的個數(shù)為偶數(shù),則取中間兩個數(shù)值的平均值則為中位值,如上78+65)/2=71.5】

③ 計算75分位:

第3個四分位數(shù)為上面12個數(shù)中的第1+2.753=9.

指第9個數(shù)對應(yīng)的值88及第9個數(shù)與第10個數(shù)之間的0.25位置處,即:88+(0.25)(90-88)=88.5 (88.5為75分位值)。

【將1到100分為10等分,則有10個10分位,用以上的方法可計算10分位值和90分位值。(以上實例的P10=34.5,P90=90.9)】

下面用Java 代碼實現(xiàn)

相關(guān)方法

private static double getPercentile(List<Double> dataList, double p) {
        int n = dataList.size();
        dataList.sort(new Comparator<Double>() {
            //從小到大排序
            @Override
            public int compare(Double o1, Double o2) {
                if(o1 == null || o2== null){
                return 0;
                }
                return o1.compareTo(o2);
            }
        });
        double px =  p*(n-1);
        int i = (int)java.lang.Math.floor(px);
        double g = px - i;
        if(g==0){
            return dataList.get(i);
        }else{
            return (1-g)*dataList.get(i)+g*dataList.get(i+1);
        }
    }

測試接口

    @RequestMapping("CalcPercentile")
    @ResponseBody
    public R CalcPercentile(@Param("per") double per){
        double[] arrs = {2,4,5,1,3,3,4,1,2,5};
        List<Double> doubleList = new ArrayList<>();
        for (double currArr : arrs) {
            doubleList.add(currArr);
        }
        double percentile = getPercentile(doubleList, per);
        return R.ok().message("查詢服務(wù)數(shù)據(jù)");
    }

正常輸出

輸入1也就是100%,正常輸出5.0,輸入0.5,輸出3.0

在這里插入圖片描述

完成需求

上面的分析是,知道百分位,求百分位對應(yīng)的數(shù)值? 而我們的需求是利用樣本時間里面的某個值,求對應(yīng)的百分位是多少?經(jīng)過查閱很多資料沒有找到相關(guān)公式,當(dāng)然有大佬知道可以提示一下.總歸問題還是要解決的. 這邊使用的解決方案是,把樣本數(shù)據(jù)分成100個點,求每個百分位對應(yīng)的數(shù)值,然后與樣本中的目標(biāo)數(shù)據(jù)一 一對比,求其最接近的那個數(shù).就間接取到了目標(biāo)數(shù)據(jù)的百分位值

核心代碼

在這里插入圖片描述

Java 求百分位數(shù)

說明一下

百分位數(shù),統(tǒng)計學(xué)術(shù)語,如果將一組數(shù)據(jù)從小到大排序,并計算相應(yīng)的累計百分位,則某一百分位所對應(yīng)數(shù)據(jù)的值就稱為這一百分位的百分位數(shù)??杀硎緸椋阂唤Mn個觀測值按數(shù)值大小排列。如,處于p%位置的值稱第p百分位數(shù)。

java代碼

 public static double percentile(double[] data,double p){
  int n = data.length;
  Arrays.sort(data);
  double px =  p*(n-1);
  int i = (int)java.lang.Math.floor(px);
  double g = px - i;
  if(g==0){
   return data[i];
  }else{
   return (1-g)*data[i]+g*data[i+1];
  }
 }

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot mybatis-config 和 log4j 輸出sql 日志的方式

    Spring Boot mybatis-config 和 log4j 輸出sql 日志的方式

    這篇文章主要介紹了Spring Boot mybatis-config 和 log4j 輸出sql 日志的方式,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下
    2021-07-07
  • Hadoop Combiner使用方法詳解

    Hadoop Combiner使用方法詳解

    這篇文章主要介紹了 Hadoop Combiner使用方法詳解的相關(guān)資料,希望通過本文能幫助到大家讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • 淺析java中asList的使用詳解

    淺析java中asList的使用詳解

    Java中的asList方法是數(shù)組工具類 Arrays中的一個靜態(tài)方法,asList()方法把數(shù)組轉(zhuǎn)換成集合時,不能使用其修改集合相關(guān)的方法,本文通過示例代碼給大家介紹java asList使用,感興趣的朋友一起看看吧
    2021-10-10
  • SpringMVC文件上傳的配置實例詳解

    SpringMVC文件上傳的配置實例詳解

    本文通過實例代碼給大家介紹SpringMVC文件上傳的配置相關(guān)內(nèi)容,本文介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • Spring中@Autowired注解的原理詳解

    Spring中@Autowired注解的原理詳解

    這篇文章主要介紹了Spring中@Autowired注解的原理詳解,對于spring配置一個bean時,如果需要給該bean提供一些初始化參數(shù),則需要通過依賴注入方式,所謂的依賴注入就是通過spring將bean所需要的一些參數(shù)傳遞到bean實例對象的過程,需要的朋友可以參考下
    2023-11-11
  • 虛擬機linux中jdk安裝配置方法

    虛擬機linux中jdk安裝配置方法

    這篇文章主要為大家詳細介紹了虛擬機linux中jdk安裝配置方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • java導(dǎo)出大批量(百萬以上)數(shù)據(jù)的excel文件

    java導(dǎo)出大批量(百萬以上)數(shù)據(jù)的excel文件

    這篇文章主要為大家詳細 介紹了java導(dǎo)出大批量即百萬以上數(shù)據(jù)的excel文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • java時間 java.util.Calendar深入分析

    java時間 java.util.Calendar深入分析

    這篇文章主要介紹了java時間 java.util.Calendar深入分析的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 通過字節(jié)碼看java中this的隱式傳參詳解

    通過字節(jié)碼看java中this的隱式傳參詳解

    這篇文章主要給大家介紹了關(guān)于如何通過字節(jié)碼看java中this的隱式傳參的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Mybatis學(xué)習(xí)筆記之動態(tài)SQL揭秘

    Mybatis學(xué)習(xí)筆記之動態(tài)SQL揭秘

    這篇文章主要給大家介紹了關(guān)于Mybatis學(xué)習(xí)筆記之動態(tài)SQL的相關(guān)資料,小編覺得挺不錯的,對大家學(xué)習(xí)或者使用Mybatis會有一定的幫助,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論

高密市| 玉门市| 循化| 泊头市| 毕节市| 易门县| 铜梁县| 龙里县| 泰兴市| 临潭县| 丰镇市| 乐至县| 台南县| 永登县| 八宿县| 来宾市| 鹿泉市| 巴林右旗| 灵山县| 五指山市| 合江县| 横峰县| 平罗县| 开江县| 绍兴市| 永修县| 韶山市| 清原| 南江县| 普兰县| 东台市| 商河县| 阿巴嘎旗| 乡宁县| 镇平县| 安塞县| 安义县| 商洛市| 日照市| 榆社县| 双桥区|