import numpy as np
import matplotlib.pyplot as plt
import pytensor.tensor as pt
import pytensor.xtensor as ptx
from pymc_marketing.mmm.transformers import michaelis_menten

x_np = np.linspace(0, 100, 500)
x = ptx.as_xtensor(pt.as_tensor_variable(x_np), dims=('x',))
alpha = 10
lam = 50
y = michaelis_menten(x, alpha, lam).eval()

plt.plot(x_np, y)
plt.xlabel('Spend/Impressions (x)')
plt.ylabel('Contribution (y)')
plt.title('Michaelis-Menten Function')
plt.show()