biancabalzarini / despeckling

0 stars 0 forks source link

Pasar el generador de R a Python #1

Closed biancabalzarini closed 1 month ago

biancabalzarini commented 1 year ago

Hay que pasar el código que samplea de la distribución GI0 de R a Python.

biancabalzarini commented 8 months ago

Necesito entender qué son el primer, segundo y tercer parámetro de la función rgamma de R (no estoy encontrado documentación!!) para pasar a la función equivalente de python (np.random.gamma). Puedo preguntarle a Juliana. https://github.com/biancabalzarini/despeckling/blob/c034842fee02dc6f2027e508835a2229f32f8768/scripts/GenrationGI0.R#L9

biancabalzarini commented 2 months ago

https://rpubs.com/mpfoley73/459051

R function rgamma(n, shape, scale) returns n random numbers from the gamma distribution X~gamma(alpha, theta)

biancabalzarini commented 1 month ago

En R (función rgamma):

    shape (α o k): Es el parámetro de forma.
    rate (β): Es el parámetro de tasa.
    scale (θ): No se usa directamente, pero es el inverso de rate (1/β).

En Python (numpy.random.gamma):

    shape (k): Es el parámetro de forma, igual que en R.
    scale (θ): Es el parámetro de escala.
    rate: No se usa directamente.

La relación clave es:

    scale (en Python) = 1 / rate (en R)

Por lo tanto:

  1. Si en R usas rgamma(n, shape = a, rate = b):

    • En Python sería: np.random.gamma(shape = a, scale = 1/b, size = n)
  2. Si en R usas rgamma(n, shape = a, scale = c):

    • En Python sería: np.random.gamma(shape = a, scale = c, size = n)