Les percentiles dans JMP sont différents des autres programmes, comment obtenir les mêmes dans JMP ?Chère communauté,
nous avons constaté que JMP calcule les percentiles différemment des autres programmes, comment puis-je obtenir la même valeur dans JMP ?
D'autres programmes sont par exemple Oracle SQL et Excel (PERCENTILE.INC)
Voir quelques références et exemples dans le script ci-dessous.
Merci et BR
names default to here(1);
// JMP calculates other Quantiles than Python/Excel
// how to get same values in JMP?
// see:
// web("https://community.jmp.com/t5/Discussions/Quantiles-result-from-JMP-are-different-from-Python/m-p/762983");
// perhaps JMP equal to PERCENTILE.EXC in Excel, and not to PERCENTILE.INC
// Percentile Calculation
// web("https://community.jmp.com/t5/Discussions/Quantile-Percentile-Calculation/m-p/327198");
data = [10.56 10.85 11.08 11.57 11.81 12.27 12.76];
Q80_oracle = 12.178;
// as excel as well
Q80_jmp = Quantile( 0.8, data );
// 12.466
// how can I get same values as in other programs?Analyse et modélisation des données de baseAccès aux donnéesRe : Les percentiles dans JMP sont différents des autres programmes, comment obtenir les mêmes dans JMP ?Salut,
Je viens de tester votre ensemble de données dans Excel et j'ai obtenu une valeur Q80 dans Excel = 12,466, exactement la même que JMP.
Je ne peux pas tester avec Oracle, mais j'ai remarqué qu'avec R, j'obtiens une valeur Q80 de 12,178. De plus, la valeur Q90 dans R est de 12,466.
Il doit y avoir une explication sur la façon dont les quantiles sont calculés entre ces programmes.
Meilleur,
TS
Re : Les percentiles dans JMP sont différents des autres programmes, comment obtenir les mêmes dans JMP ?Encore une chose :
Dans R, il existe 9 manières différentes de calculer les quantiles.
La méthode 6 renvoie le même Q80 que JMP et Excel

La méthode 7 renvoie le Q80 que vous avez trouvé dans Oracle :

Meilleur,
TS
Re : Les percentiles dans JMP sont différents des autres programmes, comment obtenir les mêmes dans JMP ?Salut @Georg : Je suis curieux ; est-ce que ça te dérange si je te demande pourquoi c'est important qu'ils correspondent ou non ?
Re : Les percentiles dans JMP sont différents des autres programmes, comment obtenir les mêmes dans JMP ?Chers tous,
Merci pour votre contribution. Nous avons besoin des « attentes du client », c'est-à-dire que le destinataire attend une certaine méthode de calcul.
Entre-temps, j'ai trouvé un moyen avec une solution de contournement Python, voir le script ci-dessous.
Merci à tous et meilleures salutations,
New Table( "Percentile_Cont_Example",
Add Rows( 7 ),
Compress File When Saved( 1 ),
New Table Variable( "SQL",
"with val_tab as
(
select 1 AS lot, 11.08 as value FROM dual
union select 1 AS lot, 12.76 as value FROM dual
union select 1 AS lot,10.85 as value FROM dual
union select 1 AS lot, 11.57 as value FROM dual
union SELECT 1 AS lot, 10.56 as value FROM dual
union select 1 AS lot, 12.27 as value FROM dual
union select 1 AS lot,11.81 as value FROM dual
)
SELECT
val_tab.lot
, val_tab.value
, percentile_cont(0.8) WITHIN GROUP (ORDER BY val_tab.value) OVER (PARTITION BY val_tab.lot) quant80_database
from
val_tab"
),
New Column( "LOT",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 1, 1, 1, 1, 1, 1] ),
Set Display Width( 60 )
),
New Column( "VALUE",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [10.56, 10.85, 11.08, 11.57, 11.81, 12.27, 12.76] ),
Set Display Width( 60 )
),
New Column( "QUANT80_DATABASE",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[12.178000000000001, 12.178000000000001, 12.178000000000001,
12.178000000000001, 12.178000000000001, 12.178000000000001,
12.178000000000001]
),
Set Display Width( 334 )
),
New Column( "Quantile80_JMP",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Col Quantile( :VALUE, 0.80000000000000004 ) ),
Set Display Width( 141 )
),
New Column( "Quantile80_Python",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
data = (As Column( :VALUE ) << get values)[
Loc( As Column( :LOT ) << get values, :LOT )];
Python Execute(
{data},
{result},
"import numpy as np
result = np.quantile(data, 0.8)
"
);
result;
),
Set Selected,
Set Display Width( 292 )
)
)Re : Les percentiles dans JMP sont différents des autres programmes, comment obtenir les mêmes dans JMP ?Comment installer numpy pour JMP 18 ? J'ai une installation séparée de Python 3.13.2. J'ai installé numpy pour cette version, mais j'obtiens toujours cette erreur lorsque j'exécute le code ci-dessus.
ModuleNotFoundError: Please install the Python package NumPy.
at row 7
Re : Les percentiles dans JMP sont différents des autres programmes, comment obtenir les mêmes dans JMP ?L'exemple de packages d'installation Python à partir de l'index de script devrait fonctionner
Names Default To Here(1);
// install numpy and pandas packages
Python Install Packages("numpy pandas");
ou vous pouvez utiliser le côté Python de JMP et utiliser jpip
import jmp
import jmputils
# update to latest version of pip and setuptools then install numpy & pandas
jmputils.jpip('install --upgrade', 'pip setuptools')
jmputils.jpip('install', 'numpy pandas')
https://www.jmp.com/support/help/en/18.0/#page/jmp/install-a-python-package.shtml#
Re : Les percentiles dans JMP sont différents des autres programmes, comment obtenir les mêmes dans JMP ?As-tu essayé
Python Install Packages( "numpy" );
Re : Les percentiles dans JMP sont différents des autres programmes, comment obtenir les mêmes dans JMP ?Merci, ça a fonctionné. Je ne connaissais pas cette commande.
Re : Les percentiles dans JMP sont différents des autres programmes, comment obtenir les mêmes dans JMP ?Dans Excel, il existe deux manières,
PERCENTILE.INC et PERCENTILE.EXC.
Mon problème était que je ne pouvais pas obtenir la même valeur dans JMP que le client avec PERCENTILE.INC, donc cette solution de contournement avec Python était nécessaire.