Loading [MathJax]/extensions/TeX/mathchoice.js

5 votos

Regresión polinómica de grado k

ϕ:RdRm es la asignación de características para realizar regresión polinómica de grado k en una entrada dimensional d. por ejemplo, cuando k=3 y d=2 entonces, ϕ([x1,x2])=[1,x1,x2,x21,x22,x31,x32,x1x2,x21x2,x1x22]

Para cualquier d y k arbitrarios, ¿cómo se puede escribir m como una función de d y k?

3voto

jldugger Puntos 7490

Dado un número determinado de monomios en d variables x1,x2,,xd de grado total menor o igual a k. Estos son los monomios de la forma

xe11xe22xedd

donde los e1 son enteros no negativos cuya suma (el grado total) no excede k.

Una forma simple de contarlos es considerar la secuencia de números naturales

(f0,f1,,fd)=(ke1ed+1,e1+1,e2+1,,ed+1)

Estos suman k+d+1. Para i=1,,d, sus sumas parciales

si=f0+f1++fi1

forman una secuencia de d enteros distintos y crecientes en el rango {1,2,,k+d} (siempre con sd+1=k+d+1) y por lo tanto corresponden a un subconjunto de esos enteros de tamaño d. Del mismo modo, cualquier subconjunto así cuando se ordena proporciona una secuencia de tales si a partir de los diferenciales sucesivos

sisi11=ei, i=1,2,,d.

Consecuentemente, el número de tales monomios es el mismo que el número de tales subconjuntos, dado por

\binom{k+d}{d} = \frac{(k+d)!}{k!\,d!}.

Por ejemplo, con k=3 y d=2 el valor es (3+2)!/(3!\,2!) = 10.

Puede ser instructivo examinar la correspondencia explícitamente en un pequeño ejemplo como este. Aquí hay una tabla de los monomios y las secuencias correspondientes.

\begin{array}{lcr} \text{Monomio} & \text{Secuencia} & \text{Subconjunto} \\ \hline 1 & (4,1,1) & \{4,5\}\\ x_1 & (3,2,1) & \{3,5\}\\ x_2 & (3,1,2) & \{3,4\}\\ x_1^2 & (2,3,1) & \{2,5\}\\ x_1x_2 & (2,2,2) & \{2,4\}\\ x_2^2 & (2,1,3) & \{2,3\}\\ x_1^3 & (1,4,1) & \{1,5\}\\ x_1^2x_2 & (1,3,2) & \{1,4\}\\ x_1x_2^2 & (1,2,3) & \{1,3\}\\ x_2^3 & (1,1,4) & \{1,2\} \end{array}

Finalmente - nuevamente como ilustración - el siguiente código en R utiliza combn para producir una matriz de subconjuntos y los convierte en una representación de los monomios. Aquí está la salida para k=d=3; es decir, una lista de los monomios en tres variables hasta el grado 3:

Figura

monomials <- function(k, d, varname="x") {
  vars <- paste0(varname, "[", 1:d, "]")
  s <- function(e) ifelse(e > 1, paste0(vars, "^", e, sep=""), ifelse(e==1, vars, ""))
  mult <- function(a) paste(a[a > ""], collapse="*")
  a <- apply(apply(apply(rbind(combn(k+d, d), k+d+1), 2, diff) - 1, 2, s), 2, mult)
  a[a==""] <- "1"
  rev(a)
}

mai <- par("mai")
par(mai=rep(0,4))
a <- monomials(3,3)
plot(c(1, length(a)), 0:1, type="n", xaxt="n", yaxt="n", xlab="", ylab="", bty="n")
invisible(sapply(seq_along(a), function(i) text(i, 1/2, parse(text=a[i]))))
par(mai=mai)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X