Я новичок в программировании на Python, пытающийся выучить веревки.На самом деле это мой первый вопрос, размещенный на stackoverflow, поэтому я надеюсь, что я правильно понял.У меня есть конкретный исследовательский вопрос, который я пытаюсь решить, но он требует генерации доверительных интервалов для квадратного корня из суммы статистики квадратной регрессии.Я уже собрал код для выполнения операции над одним массивом x и y, как показано ниже.Код возвращает доверительный интервал, присвоенный ci.Что я хочу сделать, используя фиксированный массив x np.array (как указано ниже) для ряда значений y, содержащихся в кадре данных (ниже), и вернуть верхнее и нижнее значения в другой двумерный массив, содержащий доверительные интервалы.Код начальной загрузки:
import numpy as np
x=np.array([7.58,8.19,8.46,8.78,9.08,9.38,9.62,9.98,10.53])
y=np.array([100,85,75,62,50,41,35,25,10])
def sqrt_bs_ssreg(x, y, size=1): # names function, gives parameters, and provides size which indicates pairwise
inds = np.arange(len(x)) # Set up array of indices to sample from: inds
bs_ssreg_reps = np.empty(size) #initiates replicates of bs_ssreg_reps
for i in range(size): #generates replicates
bs_inds = np.random.choice(inds, size=len(inds)) #assigns to bs_inds the randomly chosen indecies of length inds
bs_x, bs_y = x[bs_inds], y[bs_inds] #creates an 2D array of x and y values from the randomly chosen indecies
bs_ssreg_reps[i] = ((sum(bs_x*bs_y)-((sum(bs_x)*sum(bs_y))/len(bs_x)))**2/(sum(bs_x**2)-((sum(bs_x)**2/len(bs_x)))))**0.5
# calculates the square root of ssreg which is the y deviation caused by x
return bs_ssreg_reps # return the bootstrap replicates
bs_ssreg_reps = sqrt_bs_ssreg(x, y, size=10000) # repeats function sqrt_bs_ssreg 10000 times and stores results in bs_ssreg_reps
ci = np.percentile(bs_ssreg_reps, [2.5, 97.5]) #prints out the confidence
интервал для файла bs_ssreg_reps
Dataframe:
Sequence one two three four five six seven eight nine
a 32 23 30 28 22 23 20 15 12
b 16 7 7 7 7 7 4 4 0
c 7 6 4 5 4 5 0 2 0
d 5 4 5 2 3 3 3 0 0
e 6 4 3 2 4 1 3 0 0
Значения один, два, ... девять в строках от a до e - это данные, которые я хочу запустить через загрузочную системузапрограммируйте вместо девяти значений y, перечисленных выше