Mittelwert und Standardabweichung der höchsten Anzahl der unendlichen Proben der Größe x bei der höchsten ZahlPython

Python-Programme
Guest
 Mittelwert und Standardabweichung der höchsten Anzahl der unendlichen Proben der Größe x bei der höchsten Zahl

Post by Guest »

gegeben: < /p>

Eine Liste von Zahlen, "Werte". < /li>
Eine Beispielgröße, x < / li>
Eine KTH -höchste Zahl (z. Br /> Schreiben Sie eine Funktion Kmax (x, k), der die Mittelwert und die Standardabweichung der höchsten Anzahl unendlicher zufälliger Proben der Größe x zurückgibt. Angenommen, der Ersatz. < /P>
Kicker: muss mit sehr hohen Zahlen stabil sein. Für einige grobe Benchmarks: < /p>

Len (Werte) kann bis zu einer Million < /li>
x bis zu 500 betragen 000 < /li>
k kann bis zu x < /li>
< /ul>
Vorzugsweise lineare Zeitkomplexität < /p>
wenn relevant für meine Zwecke Alle Elemente in "Werten" sind positive Schwimmer im Bereich von 0,000000 bis 400.000000 < /p>
Ich habe Arbeitscode, es bricht jedoch in höheren Zahlen zusammen. Insbesondere, wenn k ein hoher Prozentsatz von x ist. Ich habe auch Arbeitscode für den Fall, in dem K = 1 sehr effektiv ist. Ich habe Schwierigkeiten, es robust zu machen, wenn Komponenten unendlich klein werden und das Programm anmieren. Sicher fehlt mir eine sehr einfache Lösung. < /P>

Code: Select all

values = np.sort(merged_df["INPUT_NUMBERS"].values)  # Sorted for ECDF
n = len(values)

def empirical_ecdf(values):
# empirical cumulative distribution function (ECDF)
return np.arange(1, n + 1) / n
< /code>
import numpy as np
import scipy.special as sp

def kmax(x, k):
n = len(values)
ecdf = empirical_ecdf(values)

pmf_k = np.zeros(n)

for i in range(n):
if i == n - 1:
pmf_k[i] = sp.comb(x, k) * ((1 - ecdf[i-1]) ** k) * (ecdf[i-1] ** (x - k))
else:
pmf_k[i] = sp.comb(x, k) * ((1 - ecdf[i]) ** k - (1 - ecdf[i+1]) ** k) * (ecdf[i] ** (x - k))

pmf_k = pmf_k / np.sum(pmf_k)

mean_kth = np.sum(values * pmf_k)
mean_kth_sq = np.sum(values**2 * pmf_k)

std_kth = np.sqrt(mean_kth_sq - mean_kth**2)

return mean_kth, std_kth

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post