WedX - журнал о программировании и компьютерных науках

Существуют ли функции кратных ортогональных многочленов от r ? (кроме поли)

Я хотел бы создать несколько ортогональных многочленов для матрицы 50x30.

В результате должно получиться 30 + 30 + 30C2 = 30 + 30 + 435 = 505 столбцов и 50 строк. Я устал poly в базовых пакетах R и не хватило памяти даже для первого заказа. Есть ли какая-нибудь функция в R, которая может выполнять несколько ортогональных многочленов? (пробовал orthopolynom , но это работает только для одномерных) или это слишком сложно сделать? Спасибо

Вот мой код

n=50
k=30
x=matrix(rnorm(n*k),nrow=n,ncol=k)
poly(x,degree=1)
Error in rep.int(rep.int(seq_len(nx), rep.int(rep.fac, nx)), orep) :  cannot allocate vector of length 1073741824
r
22.04.2013

Ответы:


1

Для ваших условий 30C2 вам нужны не ортогональные полиномы, а все условия двустороннего взаимодействия:

paste( combn( paste0("X", 1:30), 2, FUN=paste, collapse="*"), collapse="+")

Для ортогональных многочленов степени 2 вам может понадобиться:

paste( "poly(", paste0("X", 1:30), ", degree=2)", collapse="+")

Вам нужно будет построить формулу R с as.formula, если вы хотите использовать ее для регрессии.

Я не уверен, даст ли это ваши ортогональные многочлены или нет, но это даст вам выражение формулы желаемой сложности:

as.formula( paste(" ~ (", paste0("X", 1:30 , collapse="+"), ")^2", collapse=""))
#--------------
~(X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 + X11 + X12 + 
X13 + X14 + X15 + X16 + X17 + X18 + X19 + X20 + X21 + X22 + 
X23 + X24 + X25 + X26 + X27 + X28 + X29 + X30)^2

Это распространится на все линейные члены, все квадраты членов и все двусторонние комбинации. См. help(formula). И чтобы увидеть, что это расширяет для использования:

terms( as.formula( 
         paste(" ~ (", paste0("X", 1:30 , collapse="+"), ")^2", collapse="")
       ) )
23.04.2013
Новые материалы

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


Для любых предложений по сайту: [email protected]