how do i stop/start of pause loop

hi I want the loop to run and stop for 15 minutes and start again to give the impression it is stopping randomly how do i go about this?

int red = 10;
int yellow = 9;
int green = 8;
int stop = 2;

void setup(){
pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(green, OUTPUT);
pinMode(stop, OUTPUT);
}

void loop(){
changeLights();
delay(15000);
}

void changeLights(){
// green off, yellow on for 3 seconds
digitalWrite(green, LOW);
digitalWrite(yellow, HIGH);
delay(2000);

digitalWrite(stop, HIGH);
delay(10000);

// turn off yellow, then turn red on for 5 seconds
digitalWrite(yellow, LOW);
digitalWrite(red, HIGH);
delay(3000);

digitalWrite(stop, HIGH);
delay(10000);

// red and yellow on for 2 seconds (red is already on though)
digitalWrite(yellow, HIGH);
delay(2000);

digitalWrite(stop, HIGH);
delay(10000);

// turn off red and yellow, then turn on green
digitalWrite(yellow, LOW);
digitalWrite(red, LOW);
digitalWrite(green, HIGH);
delay(3000);

digitalWrite(stop, HIGH);
delay(10000);
}

No, that’s not how to do things. loop() always runs. You want to gate some of your code to particular time periods, this should be done in a function called from loop(). Some variables to say when to change state from
active <-> inactive, and what the current state is are needed.

Everytime through loop you check whether its time to change state (and if so change it and generate
a random time for the next change).

Then the functionality you want to stop/start simply has to check the active/inactive state variable.

If you stopped loop functioning nothing can happen at all.

sorry mark im a newbie and do not understand what you are saying

Using millis() for timing.
Arduino state machine