trazar_curva#
- pymc_marketing.plot.plot_curve(curve, non_grid_names, n_samples=10, hdi_probs=None, random_seed=None, subplot_kwargs=None, sample_kwargs=None, hdi_kwargs=None, axes=None, same_axes=False, colors=None, legend=None, sel_to_string=None)[fuente]#
Trazar el IDH con muestras de la curva a través de las coordenadas.
- Parámetros:
- curva :
xr.DataArrayxr.DataArray Curva a graficar
- non_grid_namespython:str | conjunto[python:str]
Los nombres a excluir de la cuadrícula. HDI y muestras tienen ambos valores predeterminados de hdi y cadena, dibujar, respectivamente.
- n_samples :
int, opcionalpython:int, opcional Número de muestras
- hdi_probs :
float|list[float], opcionalpython:float | python:list[python:float], opcional Probabilidades de HDI. Por defecto es None, lo que utiliza el valor predeterminado de arviz para stats.ci_prob, que es del 94%.
- random_seed :
np.random.Generator, opcionalnp.random.Generator, opcional Generador de números aleatorios. Por defecto es None, lo que utiliza np.random.default_rng()
- subplot_kwargs :
dict, opcionalpython:dict, opcional kwargs adicionales al crear la figura y los ejes
- sample_kwargs :
dict, opcionalpython:dict, opcional Kwargs para la función
plot_samples()- hdi_kwargs :
dict, opcionalpython:dict, opcional Kwargs para la función
plot_hdi()- same_axesbool
Si todos los gráficos están en el mismo eje
- colores :
Iterable[str], opcionalIterable[python:str], opcional Colores para los gráficos
- leyenda : bool, opcionalbool, opcional
Si se incluye una leyenda. Por defecto es True si same_axes
- sel_to_string :
Callable[[Selection],str], opcionalLlamable[[Selección], python:str], opcional Función para convertir la selección en una cadena. Por defecto, se utiliza «, «.join(f»{key}={value}» para clave, valor en sel.items())
- curva :
- Devoluciones:
tuple[plt.Figure,npt.NDArray[plt.Axes]]Figura y los ejes
Ejemplos
Trazar prior para Determinista arbitrario en el modelo PyMC
import numpy as np import pandas as pd import pymc as pm import matplotlib.pyplot as plt from pymc_marketing.plot import plot_curve seed = sum(map(ord, "Arbitrary curve")) rng = np.random.default_rng(seed) dates = pd.date_range("2024-01-01", periods=52, freq="W") coords = {"date": dates, "product": ["A", "B"]} with pm.Model(coords=coords) as model: data = pm.Normal( "data", mu=[-0.5, 0.5], sigma=1, dims=("date", "product"), ) cumsum = pm.Deterministic( "cumsum", data.cumsum(axis=0), dims=("date", "product"), ) idata = pm.sample_prior_predictive(random_seed=rng) curve = idata.prior["cumsum"] fig, axes = plot_curve( curve, "date", subplot_kwargs={"figsize": (15, 5)}, random_seed=rng, ) plt.show()
(
Source code,png,hires.png,pdf)
Elija los intervalos de HDI y el número de muestras.
fig, axes = plot_curve( curve, "date", n_samples=3, hdi_probs=[0.5, 0.95], random_seed=rng, ) fig.suptitle("Same data but fewer lines and more HDIs") plt.show()
(
Source code,png,hires.png,pdf)
Trazar la misma curva en los mismos ejes con colores personalizados
colors = ["red", "blue"] fig, axes = plot_curve( curve, "date", same_axes=True, colors=colors, random_seed=rng, ) axes[0].set(title="Same data but on same axes and custom colors") plt.show()
(
Source code,png,hires.png,pdf)