Galleria mappe mentale Tecnologia statistica intelligente
Spiega in dettaglio l'uso delle librerie Numpy, Pandas e PLT. L'introduzione è dettagliata e la conoscenza è completa. Spero che possa essere utile a tutti.
Modificato alle 2024-02-04 00:48:40Questa è una mappa mentale su una breve storia del tempo. "Una breve storia del tempo" è un'opera scientifica popolare con un'influenza di vasta portata. Non solo introduce i concetti di base della cosmologia e della relatività, ma discute anche dei buchi neri e dell'espansione dell'universo. questioni scientifiche all’avanguardia come l’inflazione e la teoria delle stringhe.
Dopo aver letto "Il coraggio di essere antipatico", "Il coraggio di essere antipatico" è un libro filosofico che vale la pena leggere. Può aiutare le persone a comprendere meglio se stesse, a comprendere gli altri e a trovare modi per ottenere la vera felicità.
"Il coraggio di essere antipatico" non solo analizza le cause profonde di vari problemi nella vita, ma fornisce anche contromisure corrispondenti per aiutare i lettori a comprendere meglio se stessi e le relazioni interpersonali e come applicare la teoria psicologica di Adler nella vita quotidiana.
Questa è una mappa mentale su una breve storia del tempo. "Una breve storia del tempo" è un'opera scientifica popolare con un'influenza di vasta portata. Non solo introduce i concetti di base della cosmologia e della relatività, ma discute anche dei buchi neri e dell'espansione dell'universo. questioni scientifiche all’avanguardia come l’inflazione e la teoria delle stringhe.
Dopo aver letto "Il coraggio di essere antipatico", "Il coraggio di essere antipatico" è un libro filosofico che vale la pena leggere. Può aiutare le persone a comprendere meglio se stesse, a comprendere gli altri e a trovare modi per ottenere la vera felicità.
"Il coraggio di essere antipatico" non solo analizza le cause profonde di vari problemi nella vita, ma fornisce anche contromisure corrispondenti per aiutare i lettori a comprendere meglio se stessi e le relazioni interpersonali e come applicare la teoria psicologica di Adler nella vita quotidiana.
Tecnologia statistica intelligente
introduzione
manuale
Pensiero statistico: statistiche di probabilità per programmatori Matematica
analisi e applicazione dei dati Python
analizzare i dati
obiettivo chiaro
prerequisiti
direzione
raccolta dati
Banca dati
altro
elaborazione dati
Pulizia (pretrattamento)
Convertire
estratto
calcolare
analisi dei dati
analisi dei dati
panda
estrazione dei dati
Visualizzazione dei dati
grafico
foglio
Parola
contenuto
teoria della probabilità
statistiche
Implementazione dell'analisi quantitativa
biblioteca chiamata
NumPy
Operazioni su matrici e matrici
Estremamente efficiente
Matplotlib
Grafici, visualizzazioni
Panda
origine del nome
dati panel e analisi dei dati
Funzione
Analisi ed esplorazione dei dati
Strutture dati avanzate
Serie
Dati unidimensionali
DataFream
Dati 2D
NumPy
introdurre
Ndarray potente array N-dimensionale
Funzione di trasmissione funzione ufunc
Strumenti per l'integrazione del codice C/C/Fortran
Algebra lineare, trasformata di Fourier, generazione di numeri casuali e altre funzioni
ndaray
effetto
Memorizza una matrice multidimensionale di un singolo tipo di dati
creare
Crea array multidimensionali da dati esistenti
Crea da elenco, oggetti tupla - array()
np.array(oggetto, dtype=None, copy=True, order='K', subok=False, ndmin=0)
oggetto — oggetto lista o tupla, parametro obbligatorio
dtype: tipo di dati
copia: l'oggetto viene copiato
ordine: organizza l'array in un determinato ordine: C - per riga; F - per colonna; A - per colonna se l'input è F, altrimenti per riga; K - mantieni la disposizione di righe e colonne
subok — L'array restituito viene assegnato a un array della classe base
ndmin: dimensione minima
Leggere da una stringa - fromstring()
np.fromstring(string, dtype=float, count=-1, sep="")
Crea una matrice multidimensionale di una forma specifica
Crea un array 'all 1' - ones()
np.ones(forma, dtype=None, ordine='C')
Crea un array di "tutti zeri" - zeros()
np.zeros(forma, dtype=float, ordine='C')
Crea un array vuoto - vuoto()
np.empty(forma, dtype=float, ordine='C')
Riempi l'array in modo autonomo - full()
np.full(shape, fill_value, dtype=None, order='C')
Crea matrice identità - occhio()
np.completo(n)
Crea un array multidimensionale dall'intervallo numerico
Crea un array di sequenze aritmetiche - arange()
np.arange(start=0, stop, step=1, dtype=None)
Crea un array di progressioni aritmetiche - linspace()
np.linspace(inizio, fine, num=50, punto finale=Vero, retstep=False, dtype=None)
num è il numero di divisioni uguali
Attributi
ndim
Dimensioni
forma
lunghezza di ciascuna dimensione
misurare
numero totale di elementi
dtype
tipo di elemento
dimensione dell'oggetto
La dimensione di ciascun elemento nell'array
Indicizzazione e affettamento
Uguale alla lista
metodo
rimodellare(a,b)
Passare a una matrice con riga a e colonna b
ripetizione(4, asse=1)
Copia 4 volte e aggiungi a destra
numpy.random
np.random.rand(2, 3)
Il valore numerico è [0,1], 2 righe e 3 colonne
np.random.randint(5, dimensione = (2, 3))
Il valore è inferiore a 5, 2 righe e 3 colonne
Matrice NumPy
È una sottoclasse di ndarray
Crea matrice
Utilizza il punto e virgola per separare i dati
matr1 = np.mat("1 2 3;4 5 6;7 8 9")
Crea una matrice utilizzando le liste
matr2 = np.matrice([[1,2,3],[4,5,6],[7,8,9]])
Combina matrici piccole in matrici grandi
matr3 = np.bmat("arr1 arr2; arr1 arr2")
proprietà della matrice
Operazioni su matrici
funzione ufunz
effetto
Le funzioni in grado di elaborare gli array ndarray possono essere utilizzate direttamente.
Operazioni comuni
Aritmetica
operazione di confronto
operazione logica
La funzione np.all(x) significa utilizzare l'AND logico per x
La funzione np.any(x) significa utilizzare l'OR logico per x
meccanismo di trasmissione
Si riferisce al modo in cui vengono eseguite le operazioni aritmetiche tra array di forme diverse
in linea di principio
Lascia che tutti gli array di input siano allineati con l'array con la forma più lunga e la parte mancante della forma viene composta aggiungendo 1 davanti.
La forma dell'array di output è il valore massimo su ciascun asse della forma dell'array di input
Se un asse dell'array di input ha la stessa lunghezza dell'asse corrispondente dell'array di output o la sua lunghezza è 1, allora questo array può essere utilizzato per il calcolo, altrimenti si verifica un errore
Quando la lunghezza di un asse dell'array di input è 1, quando si opera lungo questo asse viene utilizzato il primo set di valori su questo asse.
Leggere e scrivere file
file binario
numpy.save(file, arr,allow_pickle=True, fix_imports=True)
Nota: la directory nel percorso di salvataggio deve esistere! La funzione di salvataggio non crea automaticamente le directory.
numpy.load(file, mmap_mode=None,allow_pickle=True, fix_imports=True, codifica='ASCII')
file di testo
np.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline=' ', header='', footer='', comments='# ')
numpy.loadtxt(FILENAME, dtype=int, delimitatore=' ')
Analisi semplice
ordinare
ordinamento diretto
Si riferisce direttamente all'ordinamento dei valori
numpy.sort(a, asse, tipo, ordine)
UN
array da ordinare
asse
L'asse lungo il quale viene ordinato l'array o lungo l'ultimo asse se nessun array verrà espanso
Tipo
L'impostazione predefinita è 'quicksort' (ordinamento rapido)
ordine
Se l'array contiene campi, il campo in base al quale ordinare
ordinamento indiretto
Si riferisce all'ordinamento di un set di dati in base a una o più chiavi
numpy.argsort(a)
La funzione esegue un ordinamento indiretto dell'array di input lungo l'asse specificato e restituisce un array di indici (pedici) dei dati utilizzando il tipo di ordinamento specificato.
numpy.lexsort(a,b)
La funzione esegue un ordinamento indiretto utilizzando una sequenza di chiavi, che può essere pensata come una colonna in un foglio di calcolo, e restituisce un array di indici (pedici)
Rimuovi i duplicati
numpy.unique
funzione statistica
matplotlib
introdurre
Fornisce numerose funzioni di disegno matematico, che possono facilmente disegnare grafici di dati.
Altri strumenti statistici visivi
echart
nuvola di parole
metodo standard
Processo di base
Crea tela
<Se creare un sottografo>
Sottotrama selezionata
Imposta gli assi X e Y
Aggiungi legenda (dettagli)
<Se il disegno è completato>
salva visualizzazione
Analisi dei passi
Crea tela
plt.figura(dimensionefig=(x,y))
Se disponi di una tela, puoi creare più elementi grafici
plt.subplot(nrows, ncols, indice)
Il parametro nrows specifica in quante righe è divisa l'area del grafico dei dati
Il parametro ncols specifica in quante colonne è divisa l'area del grafico dei dati
Il parametro indice specifica quale area ottenere
Sottotrama selezionata
grafico a linee
complotto
Grafico a dispersione
spargere
Grafico a barre
livello
sbarra
verticale
barh
Istogramma
hist
Grafico a torta
torta
...
Imposta gli assi X e Y
Assi
complotto
plt.plot(x,y)
xey sono due array. Se ne inserisci solo uno, l'asse x predefinito è l'indice dell'array.
Ci sono anche parametri come colore, trasparenza, stile, larghezza, ecc.
plt.plot(x, y, color='green',alpha=0.5,linestyle='-',linewidth=3,marker='*')
Aggiungi legenda (dettagli)
Titolo, limiti superiore e inferiore dell'intervallo, legenda, segmentazione, layout, asse, ecc.
Imposta il titolo
plt.xlabel('Ora')
plt.ylabel("Temp")
plt.title('Titolo')
Esposizione cinese
plt.rcParams['font.sans-serif'] = ['SimHei']
Scala dell'asse X personalizzata
plt.xticks(intervallo(0,len(x),4),x[::4],rotazione=45)
Intervallo dell'asse X e limiti superiore e inferiore
plt.set_xlim([xmin, xmax]) #Imposta l'intervallo dell'asse X
plt.axis([xmin, xmax, ymin, ymax]) #X, intervallo dell'asse Y
plt.set_ylim(bottom=-10) #Limite inferiore dell'asse Y
plt.set_xlim(right=25) #Limite superiore dell'asse X
metodo rapido
importa matplotlib.pyplot come plt plt.plot(x,y) plt.mostra()
Panda
Caratteristiche
Fornisce oggetti semplici ed efficienti con etichette predefinite (puoi anche personalizzare le etichette).
Possibilità di caricare rapidamente dati da file in diversi formati (come file Excel, CSV, SQL) e quindi convertirli in oggetti elaborabili;
In grado di raggruppare dati per etichette di righe e colonne ed eseguire operazioni di aggregazione e trasformazione su oggetti raggruppati;
Può facilmente implementare operazioni di normalizzazione dei dati ed elaborazione dei valori mancanti;
È facile aggiungere, modificare o eliminare colonne di dati di DataFrame;
In grado di gestire set di dati in diversi formati, come dati matriciali, tabelle di dati eterogenei, serie temporali, ecc.;
Fornisce una varietà di modi per elaborare set di dati, come la creazione di sottoinsiemi, suddivisioni, filtri, raggruppamenti e riordini.
Strutture dati integrate
Serie
definizione
1 dimensione, in grado di memorizzare vari tipi di dati, come caratteri, numeri interi, numeri in virgola mobile, oggetti Python, ecc. La serie utilizza attributi nome e indice per descrivere i valori dei dati.
creare
s=pd.Series(dati, indice, dtype, copia)
dati
I dati di input possono essere scalari, elenchi, dizionari, array ndarray, ecc.
indice
Il valore dell'indice deve essere univoco, se non viene passato alcun indice il valore predefinito è np.arrange(n).
dtype
dtype rappresenta il tipo di dati. Se non fornito, verrà determinato automaticamente.
copia
Indica la copia dei dati, il valore predefinito è False.
Operazioni di base
accesso
indice in pedice
Elenco simile
indice dei tag
Simile al dizionario
Sono applicabili calcoli e operazioni Numpy
Può essere affettato
Proprietà comuni
dtype
Restituisce il tipo di dati dell'oggetto.
vuoto
Restituisce un oggetto Series vuoto.
ndim
Restituisce la dimensionalità dei dati di input.
misurare
Restituisce il numero di elementi dei dati di input.
La differenza tra dimensione e conteggio: la dimensione include i valori NaN durante il conteggio, ma il conteggio non include i valori NaN.
valori
Restituisce un oggetto Series come ndarray.
indice
Restituisce un oggetto RangeIndex utilizzato per descrivere l'intervallo di valori dell'indice.
Metodi comuni
descrivere()
count: Statistiche sulla quantità, quanti valori validi ci sono in questa colonna? unipue: Quanti valori diversi ci sono? std: deviazione standard min: valore minimo 25%: quartile 50%: metà percentile 75%: tre quarti max: valore massimo significare: significare
head()&tail() per visualizzare i dati
head(n) restituisce le prime n righe di dati e visualizza le prime 5 righe di dati per impostazione predefinita
tail(n) restituisce le ultime n righe di dati, il valore predefinito sono le ultime 5 righe
isnull()&nonull() rileva i valori mancanti
isnull(): restituisce True se il valore non esiste o è mancante.
notnull(): restituisce False se il valore non esiste o è mancante.
valore_conta
Frequenza statistica
DataFrame
definizione
2 dimensioni, sia indice di riga che indice di colonna. L'indice della riga è indice e l'indice della colonna è colonne. Durante la creazione della struttura è possibile specificare il valore dell'indice corrispondente.
Il tipo di dati di ciascuna colonna nella tabella può essere diverso, ad esempio stringa, numero intero o virgola mobile, ecc.
creare
df =pd.DataFrame(dati, indice, colonne, dtype, copia)
dati
I dati di input possono essere un elenco, un elenco di dizionari nidificati, un elenco di dizionari nidificati, una serie sotto forma di dizionario, ecc.
Operazioni sugli indici di colonna
L'indice delle colonne seleziona le colonne di dati
print(df ['uno'])
print(df[['parola', 'carattere cinese', 'significato']])
L'indice della colonna aggiunge la colonna di dati
df['tre']=pd.Series([10,20,30],index=['a','b','c'])
df['quattro']=df['uno'] df['tre']
df.insert(1,colonna='punteggio',valore=[91,90,75])
Il valore 1 rappresenta la posizione dell'indice inserita nell'elenco delle colonne
Indice colonna elimina colonna dati
df.pop('due')
Dividi colonne estratte
df[df['nome_colonna'] == qualche_valore]
Operazioni sull'indice delle righe
indice dei tag
df1.loc["b" : "e", "bx" : "ex"]
Prima fila, poi coda
indice in pedice
df1.iloc[2:6, 2:4]
Prima fila, poi coda
indice ibrido
df1.ix[2: 6, "bx": "ex"]
Prima fila, poi coda
Selezione multilinea dell'operazione di affettamento
df[2: 4]
Aggiungi riga di dati
df = df.append(df2)
Elimina riga di dati
df = df.drop(0)
Dividi le righe di recupero
df.loc[df['nome_colonna'] == str]
Righe di output in cui una determinata colonna è NaN
df[df['parola'].isna()]
Proprietà comuni
T
Trasposizione di righe e colonne.
assi
Restituisce un elenco con solo le etichette degli assi di riga e di colonna come membri.
dtypes
Restituisce il tipo di dati di ciascuna colonna di dati.
vuoto
Se non sono presenti dati nel DataFrame o la lunghezza di qualsiasi asse delle coordinate è 0, verrà restituito True.
ndim
Il numero di assi si riferisce anche alla dimensione dell'array.
forma
Restituisce una tupla (a,b), dove a rappresenta il numero di righe e b rappresenta il numero di colonne.
misurare
Numero di elementi in DataFrame
La differenza tra dimensione e conteggio: la dimensione include i valori NaN durante il conteggio, ma il conteggio non include i valori NaN.
valori
Utilizza gli array Numpy per rappresentare i valori degli elementi in un DataFrame
Metodi comuni
descrivere(include='tutto')
Uguale alla serie
Senza parametri, verranno conteggiate solo le colonne numeriche.
testa()&coda()
Uguale alla serie
informazioni()
Visualizza informazioni
spostare()
Sposta righe o colonne in base alla lunghezza del passo specificata
perno()
Converti le colonne in un frame di dati in modo che una determinata colonna diventi un nuovo indice di riga e riempi la cella corrispondente a questo indice con il valore di un'altra colonna.
parametro
indice: il nome della colonna che diventerà il nuovo indice della riga
colonne: il nome della colonna che diventerà il nuovo indice della colonna
valori: i nomi delle colonne che riempiranno le celle tra il nuovo indice di riga e il nuovo indice di colonna
sort_values(by='Nome colonna o valore indice per l'ordinamento', axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)
sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False, key=None)
asse: il valore predefinito dell'asse è 0, il che significa che l'ordinamento in base all'indice della riga è impostato su 1, il che significa l'ordinamento in base all'indice della colonna; livello: l'impostazione predefinita è Nessuno, altrimenti è organizzato nell'ordine del livello specificato. ascendente: ascendente per impostazione predefinita è True, che è ordine ascendente, e se impostato su False, è ordine discendente. inplace: l'impostazione predefinita è False, altrimenti i dati ordinati sostituiranno direttamente il frame di dati originale. kind: metodo di ordinamento, {'quicksort', 'mergesort', 'heapsort'}, predefinito 'quicksort'. Gli utenti possono scegliere il proprio na_position: i valori mancanti vengono classificati per ultimi per impostazione predefinita {"first", "last"}, il parametro "first" inserisce NaN all'inizio e "last" inserisce NaN alla fine. ignore_index: booleano, il valore predefinito è False, se è True, l'asse è l'etichetta 0, 1, 2, questa viene appena aggiunta chiave: questa è una funzione richiamabile che esegue la funzione chiave sul valore dell'indice prima dell'ordinamento. Questo è in qualche modo simile alla funzione key nella funzione built sorted()
Attraversare
Scorri ogni riga
per indice, riga in df.iterrows():
Scorri ogni colonna
per colonna, valore in df.iteritems():
Pulizia della tabella dati
Riempi i valori vuoti con il numero 0
df.fillna(valore=0)
Usa la media del principe della colonna per riempire la colonna NA
df['principe'].fillna(df['principe'].mean())
Cancella gli spazi dei caratteri nel campo della città
df['città']=df['città'].map(str.strip)
Conversione dei casi
df['città']=df['città'].str.lower()
Conversione del tipo di dati
df['prezzo'].astype(int)
Modifica l'indice della colonna/riga
Modifica tutto
Indice manoscritto
df.columns=['a','b','c']
df.index=['a','b','c']
Indice di riferimento
df.set_columns("idx",inplace=False)
df.set_index("col",inplace=False)
Modifica parziale
df.rename(columns={'category': 'category-size'},inplace=False)
df.rename(index={'category': 'categoria-dimensione'},inplace=False)
ripetere
Trova duplicati: df.duplicated() può restituire un array booleano che indica se ogni riga è un duplicato.
Valori duplicati che appaiono dopo la cancellazione
df['città'].drop_duplicates()
Rimuovi i valori duplicati che appaiono per primi
df['città'].drop_duplicates(keep='ultimo')
Seleziona la chiave primaria
sottoinsieme=['numero studente']
Rimuovi NaN
df2=df.dropna(axis=0,how="all",inplace=False)
how="all" significa che una determinata riga (colonna) verrà eliminata solo se sono presenti tutti i NaN. how="any" significa che finché esiste un NaN, verrà eliminato (impostazione predefinita)
sostituzione dei dati
df['città'].replace('sh', 'shanghai')
Unione delle tabelle dati
unire
pd=pd.merge(df,df1,how='inner') #match, unisci, intersezione, predefinito df_left=pd.merge(df,df1,how='sinistra') df_right=pd.merge(df,df1,how='destra') df_outer=pd.merge(df,df1,how='outer') #Unione, l'effetto è lo stesso delle prime due combinazioni
aggiungere
È stato deprecato, si consiglia di utilizzare concat
giuntura
concat
pd.concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verify_integrity=False,copy=True)
statistiche
var()
varianza
cov()
Covarianza
Riepilogo
Campione 1
df = pd.DataFrame({ 'A': ['a', 'b', 'a', 'c', 'a', 'c', 'b', 'c'], 'B': [2, 8, 1, 4, 3, 2, 5, 9], 'C': [102, 98, 107, 104, 115, 87, 92, 123]})
metodo
Raggruppa per colonna A e ottieni la media delle altre colonne
df.groupby('A').mean()
Elimina una determinata colonna
print(df.groupby('chiave1')['dati1'].mean())
Raggruppa per più colonne (groupby)
df.groupby(['A','B']).mean()
Campione 2
df = pd.DataFrame({' A': lista('XYZXYZXYZX'), 'B': [1, 2, 1, 3, 1, 2, 3, 3, 1, 2], 'C': [12, 14, 11, 12, 13, 14, 16, 12, 10, 19]})
metodo
Esegui diverse operazioni statistiche quando usi agg() su una colonna
df.groupby('A')['B'].agg({'media':np.mean, 'deviazione standard': np.std})
funzionamento lambda
Compensazione punti di minoranza
df['Punteggio extra'] = df['Nazionalità'].apply (lambda x : 5 se x != '汉' altrimenti 0)
superare l'esame
df['pass_reading'] = df['punteggio di lettura'].applica (lambda x: 'Passa' se x >= 60 altrimenti 'Fallito')
Disegnare un dipinto
ax = serie1.plot(tipo='barra')
fig = ax.get_figure() fig.subplots_adjust(bottom=0.4) fig.savefig('output.png')
pd.plot(tipo='dispersione',x="a",y="b",alpha=0.1)
l'alfa è la trasparenza
pd.hist(bins=50,figsize=(7,7))
Ingresso e uscita dati
accedere
leggi csv
df = pd.read_csv("mtcars.csv", codifica="utf-8")
Scrivi in Excel
df = pd.read_excel("mtcars.csv")
produzione
Scrivi in Excel
pd.to_excel('excel_to_python.xlsx', sheet_name='bluewhale_cc')
Scrivi a CSV
pd.to_csv('excel_to_python.csv')
La differenza tra Panda e NumPy
appuntamento
La sottoclasse 1).date può creare dati di data e serie temporali, la sottoclasse 2).time può creare dati di ore e minuti e la sottoclasse 3).datetime può descrivere dati di data, ora e minuti.
importa data/ora cur = dataora.dataora(2018,12,30, 15,30,59) print cur,tipo(cur) d = dataora.data(2018,12,30) printd t = dataora.dataora(2018,12,30).ora() stampa t
30-12-2018 15:30:59 <tipo 'datetime.datetime'> 30-12-2018 2018-12-16 15:35:42.757826
4). È possibile utilizzare il modulo timedelta di datetime per fornire l'intervallo di tempo (differenza).
importa data/ora cur0 = dataora.dataora(2018,12,30, 15,30,59) stampa cur0 cur1 = cur0 datetime.timedelta(giorni = 1) stampa cur1 cur2 = cur0 datetime.timedelta(minuti = 10) stampa cur2 cur3 = cur0 datetime.timedelta(minuti = 29, secondi = 1) stampa cur3
2018-12-30 15:30:59 #cur0 2018-12-31 15:30:59 #cur1 2018-12-30 15:40:59 #cur2 30-12-2018 16:00:00 #cur3
Creare dati di serie temporali di serie temporali con dati data/ora. Ciò significa utilizzare l'ora di creazione datetime come indice.
da datetime import datetime, timedelta importa Numpy come np importa i panda come pd b = dataora(2018,12,16, 17,30,55) vi = np.random.randn(60) ind = [] per x nell'intervallo(60): bi = b timedelta(minuti = x) ind.append(bi) ts = pd.Serie(vi, indice = ind) stampa ts[:5]
2018-12-16 17:30:55 -1.469098 2018-12-16 17:31:55 -0.583046 2018-12-16 17:32:55 -0,775167 2018-12-16 17:33:55 -0.740570 2018-12-16 17:34:55 -0.287118 dtipo: float64
Rifornire
Tipo
Lezione di storia
Mappa un valore su una quantità rappresentata come numero intero
Lezione PMF
Mappa un valore su una probabilità espressa come numero in virgola mobile
Il processo sopra descritto è chiamato normalizzazione, ovvero la somma delle probabilità è 1
Classe CDF
Svantaggi del PMF
Applicabilità del PMF: Quando i dati da elaborare sono relativamente piccoli
All'aumentare dei dati, la probabilità di ciascun valore diminuisce e l'impatto del rumore casuale aumenta.
Soluzione
Raggruppamento dei dati: determinare la dimensione dell'intervallo di raggruppamento richiede competenze
Quando l'intervallo di raggruppamento è sufficientemente ampio da eliminare il rumore, le informazioni utili potrebbero essere scartate.
CDF
funzione di distribuzione cumulativa
Può descrivere completamente la distribuzione di probabilità di una variabile casuale reale X, che è l'integrale della funzione di densità di probabilità.
rango percentile
Prendiamo come esempio i punteggi dei test: presentati in due forme 1. Punteggio grezzo 2. Classifica percentile: la proporzione di persone i cui punteggi originali non sono superiori al tuo tra il numero totale di partecipanti al test viene moltiplicata per 100. Ad esempio: se qualcuno si colloca nel 90° percentile, significa che il suo punteggio è migliore del 90% delle persone o almeno non peggiore del 90% dei partecipanti al test;
Dopo aver calcolato il CDF, il percentile e il rango percentile possono essere calcolati più facilmente.
funzione
Classifica percentile(x)
Per un dato valore x, calcola il suo rango percentile
100*CDF(x)
Percentile (p): per un dato rango percentile, calcolare il valore corrispondente x;
intervallo interquartile
quartili
L'intervallo interquartile è un indicatore statistico che descrive la distribuzione di dati discreti. Rappresenta rispettivamente le posizioni del 25°, 50° e 75° percentile nei dati.
intervallo interquartile
Il quartile superiore meno il quartile inferiore costituisce l'intervallo di quattro quarti.
effetto
L'intervallo interquartile rappresenta il grado di dispersione dei dati. Maggiore è l'intervallo interquartile, maggiore è il grado di dispersione dei dati.
trama a scatola
Con il valore minimo, quartile inferiore, mediana, quartile superiore e valore massimo, possiamo disegnare un box plot.
Valori anomali
Possiamo introdurre un modo per definire i valori anomali in questo modo: se un valore è estremamente piccolo, inferiore al quartile inferiore meno 1,5 volte l'intervallo interquartile, può essere conteggiato come valore anomalo, se un valore è estremamente grande lo è; più piccolo del quartile inferiore meno 1,5 volte l'intervallo interquartile. Il quartile superiore più 1,5 volte l'intervallo interquartile è ancora più grande e può anch'esso essere considerato un valore anomalo.
CCDF(a) = P(X > a)= 1- CDF(a)
concetto
PDF: funzione di densità di probabilità. In matematica, la funzione di densità di probabilità di una variabile casuale continua (può essere chiamata semplicemente funzione di densità quando non crea confusione) è un valore di output che descrive la variabile casuale ad una certa funzione A della probabilità vicino a un punto di valore.
PMF: Funzione di massa di probabilità. Nella teoria della probabilità, la funzione di massa di probabilità è la probabilità che una variabile casuale discreta assuma un valore specifico.
CDF: La funzione di distribuzione cumulativa (funzione di distribuzione cumulativa), chiamata anche funzione di distribuzione, è l'integrale della funzione di densità di probabilità, che può descrivere completamente la distribuzione di probabilità di una variabile casuale reale X.
Modellazione della distribuzione
distribuzione dell'indice
distribuzione normale
Densità di probabilità
funzione di distribuzione cumulativa
distribuzione lognormale
Se un insieme di valori segue una distribuzione normale dopo la trasformazione logaritmica, si dice che segue una distribuzione lognormale. Cioè, usa log(x) per sostituire x nella distribuzione normale.
Distribuzione di Pareto. Pareto
relazione tra variabili
Covarianza
La covarianza può essere utilizzata per misurare se le tendenze mutevoli delle variabili correlate sono le stesse e può anche essere utilizzata per misurare l'errore complessivo di due variabili.
Poiché i valori e le unità sono difficili da interpretare, generalmente sono meno utilizzati.
La varianza può essere vista come un caso speciale di covarianza, quando due variabili sono identiche.
Se gli andamenti mutevoli di due variabili sono coerenti, cioè se una di esse è maggiore del proprio valore atteso e l'altra è maggiore del proprio valore atteso, allora la covarianza tra le due variabili è positiva;
Se gli andamenti mutevoli di due variabili sono opposti, cioè una variabile è maggiore del proprio valore atteso e l'altra è inferiore al proprio valore atteso, allora la covarianza tra le due variabili è negativa;
Grado di Pearson Pearson
Ambito di applicazione
La distribuzione delle variabili nei due insiemi di dati è normale ed esiste una relazione lineare tra i due.
Sostituisci la frazione standard con il valore originale e calcola il prodotto di due frazioni standard
è chiamato coefficiente di correlazione di Pearson, dove -1<=p<=1, p=1: indica che le due variabili sono completamente correlate positivamente; p=-1: indica che le due variabili sono completamente correlate negativamente;
Grado di lanciere Lanciere
Ambito di applicazione
Ci sono valori anomali e la distribuzione delle variabili è molto asimmetrica:
Calcola innanzitutto il rango del valore nella sequenza, ovvero la posizione ordinata di un determinato valore nella sequenza, quindi calcola il coefficiente di correlazione di Pearson del rango.
Campione
Sequenza {7, 1, 2, 5} Ordina la sequenza dal piccolo al grande, il risultato è {4, 1, 2, 3} Quindi il rango di 5 è 3