Какой справедливый способ оценить, лучше ли регистрировать данные преобразования или преобразования квадратного корня, если предположить, что для аналитических целей я тоже могу их использовать? В частности, Я пытаюсь понять, имеет ли значение в R значение, если я решу применить log
или sqrt
для преобразования данных, и если да, то зависит ли это от характера данных, их общего размера и т. Д. .
Вот код, который я изначально использовал:
start.time = Sys.time()
for (x in 1:10000)
log(x)
end.time = Sys.time()
print(end.time - start.time)
start.time = Sys.time()
for (x in 1:10000)
sqrt(x)
end.time = Sys.time()
print(end.time - start.time)
Однако затем я начал задаваться вопросом, зависит ли это от характера данных, поэтому я попробовал варианты, такие как увеличение или уменьшение плотности значений:
start.time = Sys.time()
for (x in 1:10000000)
log(x^8)
end.time = Sys.time()
print(end.time - start.time)
start.time = Sys.time()
for (x in 1:10000000)
sqrt(x^8)
end.time = Sys.time()
print(end.time - start.time)
В тех случаях, когда я пытался, sqrt
всегда был немного быстрее, чем log
, но у меня нет опыта в тестировании эффективности / сложности, и я удивляюсь , если есть «правильный» способ ответить на этот вопрос (1 ) для R в частности (документы?) и (2) в более общем смысле?
Например, мне интересно, являются ли некоторые недостатки того, что я пробовал выше:
- Использование целых чисел (может отличаться для чисел с плавающей запятой)
- Используя монотонную плотную последовательность?
Мой самый общий вопрос: что важно для проведения оценки, и что мне нужно знать о R или моем оборудовании, чтобы разумно задать этот вопрос?
Спасибо!