Galería de mapas mentales Tecnología estadística inteligente
Explica en detalle el uso de las bibliotecas numpy, pandas y plt. La introducción es detallada y el conocimiento es completo. ¡Espero que pueda ser útil para todos!
Editado a las 2024-02-04 00:48:40,Este es un mapa mental sobre una breve historia del tiempo. "Una breve historia del tiempo" es una obra de divulgación científica con una influencia de gran alcance. No sólo presenta los conceptos básicos de cosmología y relatividad, sino que también analiza los agujeros negros y la expansión. del universo. temas científicos de vanguardia como la inflación y la teoría de cuerdas.
¿Cuáles son los métodos de fijación de precios para los subcontratos de proyectos bajo el modelo de contratación general EPC? EPC (Ingeniería, Adquisiciones, Construcción) significa que el contratista general es responsable de todo el proceso de diseño, adquisición, construcción e instalación del proyecto, y es responsable de los servicios de operación de prueba.
Los puntos de conocimiento que los ingenieros de Java deben dominar en cada etapa se presentan en detalle y el conocimiento es completo, espero que pueda ser útil para todos.
Este es un mapa mental sobre una breve historia del tiempo. "Una breve historia del tiempo" es una obra de divulgación científica con una influencia de gran alcance. No sólo presenta los conceptos básicos de cosmología y relatividad, sino que también analiza los agujeros negros y la expansión. del universo. temas científicos de vanguardia como la inflación y la teoría de cuerdas.
¿Cuáles son los métodos de fijación de precios para los subcontratos de proyectos bajo el modelo de contratación general EPC? EPC (Ingeniería, Adquisiciones, Construcción) significa que el contratista general es responsable de todo el proceso de diseño, adquisición, construcción e instalación del proyecto, y es responsable de los servicios de operación de prueba.
Los puntos de conocimiento que los ingenieros de Java deben dominar en cada etapa se presentan en detalle y el conocimiento es completo, espero que pueda ser útil para todos.
Tecnología estadística inteligente
introducción
libro de texto
Pensamiento estadístico: estadísticas de probabilidad para programadores Matemáticas
análisis y aplicación de datos de Python
analizar datos
meta clara
requisitos previos
dirección
recopilación de datos
base de datos
otro
procesamiento de datos
Limpieza (pretratamiento)
Convertir
extracto
calcular
análisis de los datos
análisis de los datos
pandas
procesamiento de datos
Visualización de datos
cuadro
hoja
Palabra
contenido
teoría de probabilidad
Estadísticas
Implementación de análisis cuantitativo.
biblioteca llamada
NumPy
Operaciones con matrices y matrices
Extremadamente eficiente
Matplotlib
Gráficos, visualizaciones
pandas
origen del nombre
datos de panel y análisis de datos
Función
Análisis y exploración de datos.
Estructuras de datos avanzadas
Serie
Datos unidimensionales
datosfream
datos 2D
NumPy
introducir
Potente matriz N-dimensional ndarray
Función de transmisión ufunc
Herramientas para integrar código C/C/Fortran
Álgebra lineal, transformada de Fourier, generación de números aleatorios y otras funciones
ndarray
efecto
Almacena una matriz multidimensional de un solo tipo de datos.
crear
Cree matrices multidimensionales a partir de datos existentes
Crear a partir de lista, objetos tupla - matriz()
np.array(objeto, dtype=Ninguno, copiar=Verdadero, orden='K', subok=Falso, ndmin=0)
objeto: objeto de lista o tupla, parámetro obligatorio
dtype - tipo de datos
copiar: el objeto se copia
orden: organiza la matriz en un orden determinado: C - por fila; F - por columna; A - por columna si la entrada es F; de lo contrario, por fila y columna;
subok: la matriz devuelta se convierte en una matriz de clase base
ndmin - dimensión mínima
Lectura de una cadena - fromstring()
np.fromstring(cadena, dtype=float, count=-1, sep=”)
Crea una matriz multidimensional de una forma específica.
Cree una matriz 'todos 1': unos()
np.ones(forma, dtype=Ninguno, orden='C')
Cree una matriz de 'todos ceros' - ceros()
np.zeros (forma, tipo d = flotador, orden = 'C')
Crea una matriz vacía - vacía()
np.empty(forma, dtype=flotante, orden='C')
Llenar la matriz de forma autónoma - full()
np.full(forma, valor_relleno, tipod=Ninguno, orden='C')
Crear matriz de identidad - ojo()
np.completo(n)
Crear una matriz multidimensional a partir de un rango numérico
Crea una matriz de secuencias aritméticas - arange()
np.arange(inicio=0, detener, paso=1, dtype=Ninguno)
Crea una serie de progresiones aritméticas - linspace()
np.linspace(inicio, parada, num=50, punto final=Verdadero, retstep=Falso, dtype=Ninguno)
num es el número de partes iguales
Atributos
ndim
Dimensiones
forma
longitud de cada dimensión
tamaño
número total de elementos
tipo d
tipo de elemento
tamaño del artículo
El tamaño de cada elemento de la matriz.
Indexación y corte
Igual que la lista
método
remodelar(a,b)
Cambiar a una matriz con fila a y columna b
repetir(4, eje=1)
Copia 4 veces y agrega a la derecha.
numpy.aleatorio
np.aleatorio.rand(2, 3)
El valor numérico es [0,1], 2 filas y 3 columnas.
np.random.randint(5, tamaño = (2, 3))
El valor es menor que 5, 2 filas y 3 columnas.
matriz numérica
Es una subclase de ndarray.
Crear matriz
Utilice punto y coma para separar datos
matr1 = np.mat("1 2 3;4 5 6;7 8 9")
Crear una matriz usando listas
matr2 = np.matriz([[1,2,3],[4,5,6],[7,8,9]])
Combina matrices pequeñas en matrices grandes
matr3 = np.bmat("arr1 arr2; arr1 arr2")
propiedades de la matriz
Operaciones matriciales
función ufunc
efecto
Las funciones que pueden procesar matrices ndarray se pueden utilizar directamente.
Operaciones comunes
Aritmética
operación de comparación
operación lógica
La función np.all(x) significa usar AND lógico para x
La función np.any(x) significa usar OR lógico para x
mecanismo de transmisión
Se refiere a la forma en que se realizan operaciones aritméticas entre matrices de diferentes formas.
en principio
Deje que todas las matrices de entrada estén alineadas con la matriz con la forma más larga, y la parte faltante de la forma se compensa agregando 1 al frente.
La forma de la matriz de salida es el valor máximo en cada eje de la forma de la matriz de entrada.
Si un eje de la matriz de entrada tiene la misma longitud que el eje correspondiente de la matriz de salida o su longitud es 1, entonces esta matriz se puede utilizar para el cálculo; de lo contrario, se produce un error.
Cuando la longitud de un eje de la matriz de entrada es 1, el primer conjunto de valores en este eje se usa cuando se opera a lo largo de este eje.
Leer y escribir archivos
archivo binario
numpy.save(archivo, arr, enable_pickle=Verdadero, fix_imports=Verdadero)
Nota: ¡El directorio en la ruta para guardar debe existir! La función de guardar no crea directorios automáticamente.
numpy.load(archivo, mmap_mode=Ninguno, enable_pickle=True, fix_imports=True, codificación='ASCII')
Archivo de texto
np.savetxt(fname, X, fmt='%.18e', delimitador=' ', nueva línea=' ', encabezado='', pie de página='', comentarios='# ')
numpy.loadtxt(NOMBRE DE ARCHIVO, tipod=int, delimitador=' ')
Análisis sencillo
clasificar
clasificación directa
Se refiere a ordenar valores directamente.
numpy.sort(a, eje, tipo, orden)
a
matriz para ordenar
eje
El eje a lo largo del cual se ordena la matriz, o a lo largo del último eje si no se expandirá ninguna matriz
amable
El valor predeterminado es 'quicksort' (clasificación rápida)
orden
Si la matriz contiene campos, el campo por el que ordenar
clasificación indirecta
Se refiere a ordenar un conjunto de datos según una o más claves.
numpy.argsort(a)
La función realiza una clasificación indirecta en la matriz de entrada a lo largo del eje dado y devuelve una matriz de índices (subíndices) de los datos utilizando el tipo de clasificación especificado.
numpy.lexsort(a,b)
La función realiza una clasificación indirecta utilizando una secuencia de claves, que puede considerarse como una columna en una hoja de cálculo, y devuelve una matriz de índices (subíndices).
Eliminar duplicados
numpy.unique
función estadística
matplotlib
introducir
Proporciona una gran cantidad de funciones de dibujo matemático, que pueden dibujar fácilmente gráficos de datos.
Otras herramientas estadísticas visuales
echarte
nube de palabras
método estándar
Proceso básico
Crear lienzo
<Si se debe crear un subgrafo>
Subtrama seleccionada
Establecer eje X, Y
Agregar leyenda (detalles)
<Si el dibujo está completo>
guardar pantalla
Análisis de pasos
Crear lienzo
plt.figure(tamaño de figura=(x,y))
Si tienes un lienzo, puedes crear varios gráficos.
plt.subplot(nrows, ncols, índice)
El parámetro nrows especifica en cuántas filas se divide el área del gráfico de datos
El parámetro ncols especifica en cuántas columnas se divide el área del gráfico de datos
El parámetro de índice especifica qué área obtener
Subtrama seleccionada
Gráfico de linea
trama
Gráfico de dispersión
dispersión
Gráfico de barras
nivel
bar
vertical
barh
Histograma
historia
Gráfico circular
tarta
...
Establecer eje X, Y
ejes
trama
plt.plot(x,y)
x e y son dos matrices. Si solo ingresa una, el eje x predeterminado es el subíndice de la matriz.
También hay parámetros como color, transparencia, estilo, ancho, etc.
plt.plot(x, y, color='verde',alfa=0.5,estilo de línea='-',ancho de línea=3,marcador='*')
Agregar leyenda (detalles)
Título, límites superior e inferior de intervalo, leyenda, segmentación, diseño, eje, etc.
Establecer título
plt.xlabel('Tiempo')
plt.ylabel("Temp")
plt.title('Título')
pantalla china
plt.rcParams['font.sans-serif'] = ['SimHei']
Escala personalizada del eje X
plt.xticks(rango(0,len(x),4),x[::4],rotación=45)
Intervalo del eje X y límites superior e inferior
plt.set_xlim([xmin, xmax]) #Establece el intervalo del eje X
plt.axis([xmin, xmax, ymin, ymax]) #Intervalo del eje X, Y
plt.set_ylim(bottom=-10) #Límite inferior del eje Y
plt.set_xlim(right=25) #Límite superior del eje X
método rápido
importar matplotlib.pyplot como plt plt.plot(x,y) plt.mostrar()
pandas
Características
Proporciona objetos simples y eficientes con etiquetas predeterminadas (también puedes personalizar etiquetas).
Capacidad para cargar rápidamente datos de archivos en diferentes formatos (como archivos Excel, CSV, SQL) y luego convertirlos en objetos procesables;
Capacidad para agrupar datos por etiquetas de filas y columnas, y realizar operaciones de agregación y transformación en objetos agrupados;
Puede implementar fácilmente operaciones de normalización de datos y procesamiento de valores faltantes;
Es fácil agregar, modificar o eliminar columnas de datos de DataFrame;
Capaz de manejar conjuntos de datos en diferentes formatos, como datos matriciales, tablas de datos heterogéneos, series de tiempo, etc.;
Proporciona una variedad de formas de procesar conjuntos de datos, como crear subconjuntos, dividir, filtrar, agrupar y reordenar.
Estructuras de datos integradas
Serie
definición
1 dimensión, capaz de almacenar varios tipos de datos, como caracteres, enteros, números de punto flotante, objetos Python, etc. La serie utiliza atributos de nombre e índice para describir los valores de los datos.
crear
s=pd.Series(datos, índice, tipo d, copia)
datos
Los datos de entrada pueden ser escalares, listas, diccionarios, matrices ndarray, etc.
índice
El valor del índice debe ser único; si no se pasa ningún índice, el valor predeterminado es np.arrange(n).
tipo d
dtype representa el tipo de datos. Si no se proporciona, se determinará automáticamente.
Copiar
Indica copiar datos, el valor predeterminado es Falso.
Operaciones básicas
acceso
índice de subíndice
Lista similar
índice de etiquetas
Similar al diccionario
Se aplican numerosos cálculos y operaciones.
Se puede cortar
Propiedades comunes
tipo d
Devuelve el tipo de datos del objeto.
vacío
Devuelve un objeto Serie vacío.
ndim
Devuelve la dimensionalidad de los datos de entrada.
tamaño
Devuelve el número de elementos de los datos de entrada.
La diferencia entre tamaño y recuento: el tamaño incluye valores de NaN al contar, pero el recuento no incluye valores de NaN.
valores
Devuelve un objeto Serie como un ndarray.
índice
Devuelve un objeto RangeIndex utilizado para describir el rango de valores del índice.
Métodos comunes
describir()
count: Estadísticas de cantidad, ¿cuántos valores válidos hay en esta columna? unipue: ¿Cuántos valores diferentes hay? estándar: desviación estándar min: valor mínimo 25%: cuartil 50%: medio percentil 75%: tres cuartos máx: valor máximo significar: significar
head()&tail() para ver datos
head(n) devuelve las primeras n filas de datos y muestra las primeras 5 filas de datos de forma predeterminada
tail(n) devuelve las últimas n filas de datos, el valor predeterminado son las últimas 5 filas
isnull()&nonull() detecta valores faltantes
isnull(): Devuelve True si el valor no existe o falta.
notnull(): Devuelve False si el valor no existe o falta.
valor_cuenta
Frecuencia estadística
Marco de datos
definición
2 dimensiones, tanto índice de fila como índice de columna. El índice de fila es índice y el índice de columna es columnas. Al crear la estructura, puede especificar el valor de índice correspondiente.
El tipo de datos de cada columna de la tabla puede ser diferente, como cadena, entero o punto flotante, etc.
crear
df =pd.DataFrame(datos, índice, columnas, tipo d, copia)
datos
Los datos de entrada pueden ser una lista, una lista anidada de diccionario, una lista de diccionario anidada, una serie en forma de diccionario, etc.
Operaciones de índice de columnas
El índice de columnas selecciona columnas de datos
imprimir(df ['uno'])
print(df[['palabra', 'carácter chino', 'significado']])
El índice de columna agrega una columna de datos
df['tres']=pd.Series([10,20,30],index=['a','b','c'])
df['cuatro']=df['uno'] df['tres']
df.insert(1,columna='puntuación',valor=[91,90,75])
El valor 1 representa la posición del índice insertada en la lista de columnas.
Índice de columna eliminar columna de datos
df.pop('dos')
Dividir columnas extraídas
df[df['nombre_columna'] == algún_valor]
Operaciones de índice de filas
índice de etiquetas
df1.loc["b": "e", "bx": "ex"]
Primero fila, luego cola
índice de subíndice
df1.iloc[2: 6, 2: 4]
Primero fila, luego cola
índice híbrido
df1.ix[2: 6, "bx": "ex"]
Primero fila, luego cola
Selección multilínea de operación de corte
df[2: 4]
Agregar fila de datos
df = df.append(df2)
Eliminar fila de datos
df = df.soltar(0)
Dividir filas de búsqueda
df.loc[df['nombre_columna'] == cadena]
Filas de salida donde una determinada columna es NaN
df[df['palabra'].isna()]
Propiedades comunes
t
Transposición de filas y columnas.
ejes
Devuelve una lista con solo etiquetas de ejes de filas y columnas como miembros.
tipos
Devuelve el tipo de datos de cada columna de datos.
vacío
Si no hay datos en el DataFrame o la longitud de cualquier eje de coordenadas es 0, se devolverá True.
ndim
El número de ejes también se refiere a la dimensión de la matriz.
forma
Devuelve una tupla (a,b), donde a representa el número de filas y b representa el número de columnas.
tamaño
Número de elementos en DataFrame
La diferencia entre tamaño y recuento: el tamaño incluye valores de NaN al contar, pero el recuento no incluye valores de NaN.
valores
Utilice matrices numerosas para representar valores de elementos en un DataFrame
Métodos comunes
describir (incluir = 'todo')
Igual que la serie
Sin parámetros, solo se contarán las columnas numéricas.
la cabeza de la cola()
Igual que la serie
información()
Ver información
cambio()
Mover filas o columnas según la longitud de zancada especificada
pivote()
Convierta las columnas en un marco de datos para que una determinada columna se convierta en un nuevo índice de fila y complete la celda correspondiente a este índice con el valor de otra columna.
parámetro
índice: el nombre de la columna que se convertirá en el nuevo índice de la fila
columnas: el nombre de la columna que se convertirá en el nuevo índice de la columna
valores: los nombres de las columnas que llenarán las celdas entre el nuevo índice de fila y el nuevo índice de columna
sort_values(by='Nombre de columna o valor de índice para ordenar', eje=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=Ninguno)
sort_index(axis=0, nivel=Ninguno, ascendente=Verdadero, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False, clave=Ninguno)
eje: el eje tiene el valor predeterminado 0, lo que significa ordenar según el índice de la fila. El eje se establece en 1, lo que significa ordenar según el índice de la columna; nivel: el valor predeterminado es Ninguno; de lo contrario, se organiza en el orden de nivel dado. ascendente: el valor predeterminado ascendente es Verdadero, que es orden ascendente, y cuando se establece en Falso, es orden descendente. inplace: el valor predeterminado es Falso; de lo contrario, los datos ordenados reemplazarán directamente el marco de datos original. tipo: método de clasificación, {'quicksort', 'mergesort', 'heapsort'}, predeterminado 'quicksort'. Los usuarios pueden elegir na_position: los valores faltantes se clasifican en último lugar de forma predeterminada {"primero", "último"}, el parámetro "primero" coloca NaN al principio y "último" coloca NaN al final. ignore_index: booleano, el valor predeterminado es Falso, si es Verdadero, entonces el eje es la etiqueta 0, 1, 2, esto se agregó recientemente; clave: esta es una función invocable que ejecuta la función clave en el valor del índice antes de ordenar. Esto es algo similar a la función clave en la función incorporada sorted()
atravesar
Iterar a través de cada fila
para índice, fila en df.iterrows():
Iterar a través de cada columna
para columna, valor en df.iteritems():
Limpieza de la tabla de datos
Rellenar valores vacíos con el número 0
df.fillna(valor=0)
Utilice la media de la columna príncipe para llenar la columna NA
df['príncipe'].fillna(df['príncipe'].media())
Borrar espacios de caracteres en el campo de la ciudad
df['ciudad']=df['ciudad'].map(str.strip)
Conversión de casos
df['ciudad']=df['ciudad'].str.lower()
Conversión de tipo de datos
df['precio'].astype(int)
Cambiar índice de columna/fila
Modificar todo
índice escrito a mano
df.columns=['a','b','c']
df.index=['a','b','c']
Índice de referencia
df.set_columns("idx",inplace=Falso)
df.set_index("col",inplace=Falso)
Modificación parcial
df.rename(columnas={'categoría': 'tamaño-categoría'},inplace=False)
df.rename(index={'categoría': 'categoría-tamaño'},inplace=False)
repetir
Buscar duplicados: df.duplicated() puede devolver una matriz booleana que indica si cada fila es un duplicado.
Valores duplicados que aparecen después de la eliminación
df['ciudad'].drop_duplicates()
Eliminar valores duplicados que aparecen primero
df['ciudad'].drop_duplicates(keep='último')
Seleccionar clave principal
subconjunto=['número de estudiante']
Eliminar NaN
df2=df.dropna(eje=0,how="todo",inplace=False)
how="all" significa que una determinada fila (columna) se eliminará solo si todos los NaN están presentes. how="any" significa que mientras haya un NaN, se eliminará (predeterminado)
reemplazo de datos
df['ciudad'].replace('sh', 'shanghai')
Fusión de tablas de datos
unir
pd=pd.merge(df,df1,how='inner') #coincidencia, fusión, intersección, predeterminado df_left=pd.merge(df,df1,how='izquierda') df_right=pd.merge(df,df1,how='derecho') df_outer=pd.merge(df,df1,how='outer') #Union, el efecto es el mismo que el de las dos primeras combinaciones
adjuntar
Ha quedado obsoleto, se recomienda usar concat
unirse
concat
pd.concat(objs,axis=0,join='outer',join_axes=Ninguno,ignore_index=False,keys=Ninguno,levels=Ninguno,nombres=Ninguno,verify_integrity=False,copia=Verdadero)
Estadísticas
var()
diferencia
cov()
Covarianza
Resumen
Muestra 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]})
método
Agrupe por la columna A y obtenga la media de otras columnas
df.groupby('A').media()
Sacar una determinada columna
print(df.groupby('clave1')['datos1'].media())
Agrupar por varias columnas (groupby)
df.groupby(['A','B']).mean()
Muestra 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]})
método
Realizar diferentes operaciones estadísticas al usar agg() en una columna
df.groupby('A')['B'].agg({'media':np.mean, 'desviación estándar': np.std})
operación lambda
Compensación de puntos minoritarios
df['Puntuación Extra'] = df['Nacionalidad'].aplicar (lambda x: 5 si x! = '汉' más 0)
pasar el examen
df['pass_reading'] = df['puntuación de lectura'].aplicar (lambda x: 'Aprobado' si x >= 60 o 'Fallo')
Dibuja una imagen
hacha = series1.plot(tipo='barra')
figura = ax.get_figure() fig.subplots_adjust(abajo=0.4) fig.savefig('salida.png')
pd.plot(kind='scatter',x="a",y="b",alpha=0.1)
alfa es transparencia
pd.hist(bins=50,figsize=(7,7))
Entrada y salida de datos
ingresar
leer csv
df = pd.read_csv("mtcars.csv", codificación="utf-8")
escribir en excel
df = pd.read_excel("mtcars.csv")
producción
escribir en excel
pd.to_excel('excel_to_python.xlsx', nombre_hoja='bluewhale_cc')
Escribir en CSV
pd.to_csv('excel_to_python.csv')
La diferencia entre Pandas y NumPy
fecha y hora
1) la subclase de fecha puede crear datos de series de tiempo y fechas, 2) la subclase de hora puede crear datos de horas y minutos, y 3) la subclase de fecha y hora puede describir datos de fechas y horas y minutos.
importar fecha y hora cur = fecha y hora. fecha y hora (2018,12,30, 15,30,59) imprimir cur, tipo (cur) d = fechahora.fecha(2018,12,30) imprimir t = fecha y hora. fecha y hora (2018,12,30). ahora () imprimir t
2018-12-30 15:30:59 <escriba 'fechahora.fechahora'> 2018-12-30 2018-12-16 15:35:42.757826
4). Puede utilizar el módulo timedelta de datetime para dar el intervalo de tiempo (diferencia).
importar fecha y hora cur0 = fechahora.fechahora(2018,12,30, 15,30,59) imprimir cur0 cur1 = cur0 fechahora.timedelta(días = 1) imprimir cur1 cur2 = cur0 fechahora.timedelta(minutos = 10) imprimir cur2 cur3 = cur0 fechahora.timedelta(minutos = 29, segundos = 1) imprimir cur3
2018-12-30 15:30:59 #cur0 2018-12-31 15:30:59 #cur1 2018-12-30 15:40:59 #cur2 2018-12-30 16:00:00 #cur3
Cree datos de series temporales con datos de fecha y hora. Esto significa utilizar la hora de creación de fecha y hora como índice.
desde fecha y hora importar fecha y hora, timedelta importar numpy como np importar pandas como pd b = fechahora(2018,12,16, 17,30,55) vi = np.aleatorio.randn(60) índice = [] para x en el rango (60): bi = b delta de tiempo(minutos = x) ind.append(bi) ts = pd.Series(vi, índice = ind) imprimir 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 tipo de letra: float64
Reponer
amable
Su clase
Asigna un valor a una cantidad representada por un número entero
clase pmf
Asigna un valor a una probabilidad expresada como un número de punto flotante
El proceso anterior se llama normalización, es decir, la probabilidad suma 1
clase CDF
Desventajas del PMF
Aplicabilidad de PMF: cuando los datos a procesar son relativamente pequeños
A medida que aumentan los datos, la probabilidad de cada valor disminuye y aumenta el impacto del ruido aleatorio.
Solución
Agrupación de datos: determinar el tamaño del intervalo de agrupación requiere habilidades
Cuando el intervalo de agrupación es lo suficientemente grande como para eliminar el ruido, se puede descartar información útil.
CDF
función de distribución acumulativa
Puede describir completamente la distribución de probabilidad de una variable aleatoria real X, que es la integral de la función de densidad de probabilidad.
rango percentil
Tome los puntajes de las pruebas como ejemplo: presentados en dos formas 1. Puntuación bruta 2. Rango percentil: la proporción de personas cuyas puntuaciones originales no son superiores a las suyas entre el número total de examinados se multiplica por 100. Por ejemplo: si alguien se ubica en el percentil 90, significa que su puntaje es mejor que el del 90% de las personas o al menos no peor que el del 90% de los examinados;
Después de calcular el CDF, el percentil y el rango percentil se pueden calcular más fácilmente.
función
Rango percentil(x)
Para un valor dado x, calcule su rango percentil
100*CDF(x)
Percentil (p): Para un rango percentil determinado, calcule el valor correspondiente x;
rango intercuartil
cuartiles
El rango intercuartil es un indicador en estadística que describe la distribución de datos discretos. Representa las posiciones de los percentiles 25, 50 y 75 en los datos, respectivamente.
rango intercuartil
El cuartil superior menos el cuartil inferior es el rango de cuatro cuartos.
efecto
El rango intercuartil representa el grado de dispersión de los datos. Cuanto mayor sea el rango intercuartil, mayor será el grado de dispersión de los datos.
diagrama de caja
Con el valor mínimo, el cuartil inferior, la mediana, el cuartil superior y el valor máximo, podemos dibujar un diagrama de caja.
Valores atípicos
Por cierto, podemos introducir una forma de definir los valores atípicos: si un valor es extremadamente pequeño, más pequeño que el cuartil inferior menos 1,5 veces el rango intercuartil, se puede contar como un valor atípico, en consecuencia, si un valor es extremadamente grande, es un valor atípico; más pequeño que el cuartil inferior menos 1,5 veces el rango intercuartil. El cuartil superior más 1,5 veces el rango intercuartil es aún mayor y también puede contarse como un valor atípico.
CCDF(a) = P(X > a)= 1- CDF(a)
concepto
PDF: función de densidad de probabilidad En matemáticas, la función de densidad de probabilidad de una variable aleatoria continua (puede llamarse simplemente función de densidad cuando no sea confusa) es un valor de salida que describe la variable aleatoria en una determinada función de probabilidad. cerca de un punto de valor.
PMF: Función de masa de probabilidad En teoría de probabilidad, la función de masa de probabilidad es la probabilidad de que una variable aleatoria discreta tome un valor específico.
CDF: la función de distribución acumulativa (función de distribución acumulativa), también llamada función de distribución, es la integral de la función de densidad de probabilidad, que puede describir completamente la distribución de probabilidad de una variable aleatoria real X.
Modelado de distribución
distribución del índice
distribución normal
Función de densidad de probabilidad
función de distribución acumulativa
Distribución lognormal
Si un conjunto de valores sigue una distribución normal después de la transformación logarítmica, se dice que sigue una distribución lognormal. Es decir, utilice log(x) para reemplazar x en la distribución normal.
Distribución de Pareto Pareto
relación entre variables
Covarianza
La covarianza se puede utilizar para medir si las tendencias cambiantes de variables relacionadas son las mismas y también se puede utilizar para medir el error general de dos variables.
Debido a que los valores y las unidades son difíciles de interpretar, generalmente se utilizan menos.
La varianza puede verse como un caso especial de covarianza, cuando dos variables son idénticas.
Si las tendencias cambiantes de dos variables son consistentes, es decir, si una de ellas es mayor que su propio valor esperado y la otra es mayor que su propio valor esperado, entonces la covarianza entre las dos variables es positiva;
Si las tendencias cambiantes de dos variables son opuestas, es decir, una variable es mayor que su propio valor esperado y la otra es menor que su propio valor esperado, entonces la covarianza entre las dos variables es negativa;
rango de Pearson pearson
Ámbito de aplicación
La distribución de las dos variables de datos es normal y existe una relación lineal entre las dos.
Sustituya la fracción estándar por el valor original y calcule el producto de dos fracciones estándar
se llama coeficiente de correlación de Pearson, donde -1<=p<=1, p=1: Indica que las dos variables están completamente correlacionadas positivamente; p = -1: indica que las dos variables están completamente correlacionadas negativamente;
Rango de lancero Lancero
Ámbito de aplicación
Hay valores atípicos y la distribución de la variable es muy asimétrica:
Primero calcule el rango del valor en la secuencia: es decir, la posición ordenada de un determinado valor en la secuencia, y luego calcule el coeficiente de correlación de Pearson del rango.
Muestra
Secuencia {7, 1, 2, 5} Ordene la secuencia de pequeña a grande, el resultado es {4, 1, 2, 3} entonces el rango de 5 es 3