Select the element out of the array if its index is a Fibonacci number
Some notes:


fibonacci_numbers = numbers.select { |num| fibonacci.include?(num) }. Array#include? is O(n), this will be very slow. With this approach, fibonacci should be a set.
Since you have to store a the fibonacci values, the space complexity won't be nice for big inputs.
Your algorithm only works for arrays, it would be nice if it worked with enumerables. 


I'd write:

def remove_fib_indexes(xs)
  Enumerator.new do |yielder|
    fib_a, fib_b = [0, 1]
    xs.each.with_index do |x, idx|
      if idx == fib_a
        # skip the repeated 1 in the sequence [0, 1, 1, 2, 3, 5, ...]
        fib_a, fib_b = (fib_b == 1) ? [1, 2] : [fib_b, fib_a + fib_b] 
      else
        yielder.yield(x)
      end
    end
  end
end

xs = (0..Float::INFINITY).lazy.map(&amp;:to_s)    
remove_fib_indexes(xs).take(10).to_a
#=&gt; ["4", "6", "7", "9", "10", "11", "12", "14", "15", "16"]